Как я получаю список всех схем в базе данных Sql Server

Я хочу получить список всех схем в данной базе данных Sql Server. Используя ADO.NET извлечение схемы API, я получаю список всех наборов, но нет никакого набора для 'Схем'. Я мог пересечь 'Tables', 'Procedures' наборы (и другие при необходимости) и получают список уникальных названий схемы, но нет ли более легкий/короче способ достигнуть того же результата?

Пример: Для стандарта 'AdventureWorks' база данных, которую я хотел бы также, получает следующий список - dbo,HumanResources,Person,Production,Purchasing,Sales (Я опустил другие стандартные названия схемы как db_accessadmin,db_datareader и т.д.)

Править: Я могу получить список схем путем запросов системного представления - INFORMATION_SCHEMA.SCHEMATA но предпочел бы использовать схему API в качестве предпочтительного варианта.

59
задан 13 June 2013 в 14:48

1 ответ

Можно также использовать следующий запрос для получения Схем для определенного пользователя Базы данных:

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
2
ответ дан 1 November 2019 в 12:29

Другие вопросы по тегам:

Похожие вопросы: