Я хочу получить список всех схем в данной базе данных Sql Server. Используя ADO.NET
извлечение схемы API, я получаю список всех наборов, но нет никакого набора для 'Схем'. Я мог пересечь 'Tables'
, 'Procedures'
наборы (и другие при необходимости) и получают список уникальных названий схемы, но нет ли более легкий/короче способ достигнуть того же результата?
Пример: Для стандарта 'AdventureWorks'
база данных, которую я хотел бы также, получает следующий список - dbo,HumanResources,Person,Production,Purchasing,Sales
(Я опустил другие стандартные названия схемы как db_accessadmin
,db_datareader
и т.д.)
Править: Я могу получить список схем путем запросов системного представления - INFORMATION_SCHEMA.SCHEMATA
но предпочел бы использовать схему API в качестве предпочтительного варианта.
Можно также использовать следующий запрос для получения Схем для определенного пользователя Базы данных:
select s.schema_id, s.name as schema_name
from sys.schemas s
inner join sys.sysusers u on u.uid = s.principal_id
where u.name='DataBaseUserUserName'
order by s.name