Задача сделать ревизию какие права имеют доменные группы и пользователи права на базы данных
-- Удаляем временную таблицу, если существует
IF OBJECT_ID('tempdb..#Permissions') IS NOT NULL
DROP TABLE #Permissions;
-- Создаём временную таблицу для результатов
CREATE TABLE #Permissions (
DatabaseName SYSNAME,
LoginName NVARCHAR(256),
UserInDB NVARCHAR(256),
DatabaseRole NVARCHAR(256)
);
-- Динамически проверяем все базы данных
EXEC sp_MSforeachdb '
USE [?];
INSERT INTO #Permissions (DatabaseName, LoginName, UserInDB, DatabaseRole)
SELECT
''?'' AS DatabaseName,
sp.name AS LoginName,
dp.name AS UserInDB,
ISNULL(dr.name, ''Public role or no role'') AS DatabaseRole
FROM sys.database_principals dp
JOIN sys.server_principals sp ON dp.sid = sp.sid
LEFT JOIN sys.database_role_members drm ON dp.principal_id = …
Читать далее