Как получить список всех пользователей базы данных

Я собираюсь получить список всех пользователей, включая пользователей Windows и 'sa', у кого есть доступ к конкретной базе данных в SQL Server MS. В основном я хотел бы, чтобы список был похож как, в чем показывают SQL Server Management Studio (т.е. список, который показывают, когда Вы расширяетесь [databse] -> Security -> Users) с одним важным исключением: Я не хочу видеть 'dbo' в списке. Скорее я хотел бы видеть фактического пользователя, который владеет базой данных. Так, например, если 'sa' 'dbo', 'sa' должен быть включен в список вместо 'dbo'. Другое примечание, которое не будет пропущено, список в SQL Server Management Studio обычно выставочные пользователи Windows в дополнение к пользователям SQL, И я хотел бы, чтобы те пользователи были включены также.

До сих пор я смог придумать следующий запрос:

SELECT * FROM sys.database_principals where (type='S' or type = 'U')

Этот запрос является почти правильным, но проблема, это не удовлетворяет 'dbo' состояние.

Как я могу изменить этот запрос, или я должен использовать другой?

58
задан 2 May 2018 в 13:02

1 ответ

Пойдите для этого:

 SELECT name,type_desc FROM sys.sql_logins
3
ответ дан 1 November 2019 в 13:54

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

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