У меня есть требование знать, какая схема используется по умолчанию в сценарии SQL, который выполняет некоторые DDL. Мне не нужно устанавливать схему, но мне нужно получить ссылку на нее (имя или идентификатор) в переменную. Сценарий может быть запущен в качестве входа в Windows, поэтому следующего недостаточно:
SELECT name, default_schema_name
FROM sys.database_principals
WHERE type = 'S' and name = SYSTEM_USER --SYSTEM User won't be named as a principal
Я думал о том, чтобы сделать это путем создания объекта со случайным именем в текущей схеме, а затем посмотреть на его детали в information_schema, но есть ли у кого более понятный способ?
Я работаю в SQL Server 2005.