Я собираюсь получить список всех пользователей, включая пользователей Windows и "sa", которые имеют доступ к определенной базе данных в MS SQL Server.
В принципе, я хотел бы, чтобы список выглядел так, как показано в 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'.
Как я могу изменить этот запрос или использовать другой?