Задача узнать на какие базы и какие права имеет определённый logon в mssql
-- Создаем временную таблицу для сохранения результатов
IF OBJECT_ID('tempdb..#UserMapping') IS NOT NULL
DROP TABLE #UserMapping;
CREATE TABLE #UserMapping (
DatabaseName NVARCHAR(128),
LoginName NVARCHAR(128),
UserName NVARCHAR(128),
UserType NVARCHAR(128),
DefaultSchema NVARCHAR(128),
DatabaseRole NVARCHAR(128)
);
-- Динамический SQL для всех баз данных
DECLARE @sql NVARCHAR(MAX) = N'';
SELECT @sql += '
USE [' + name + '];
INSERT INTO #UserMapping (DatabaseName, LoginName, UserName, UserType, DefaultSchema, DatabaseRole)
SELECT
''' + name + ''' AS [DatabaseName],
sp.name AS [LoginName],
dp.name AS [UserName],
dp.type_desc AS [UserType],
dp.default_schema_name AS [DefaultSchema],
dp2.name AS [DatabaseRole]
FROM
…
Читать далее