Одним из способов было бы установить «Результаты в текст» в меню запросов в SSMS, а затем выполнить следующее.
На самом деле это не вносит изменения, но генерирует сценарий для просмотра и выполнения.
SET NOCOUNT ON;
DECLARE @user_name SYSNAME
, @login_name SYSNAME;
SELECT @user_name = 'user_name',
@login_name = 'login_name'
SELECT '
USE ' + QUOTENAME(NAME) + ';
CREATE USER ' + QUOTENAME(@user_name)
+ ' FOR LOGIN ' + QUOTENAME(@login_name)
+ ' WITH DEFAULT_SCHEMA=[dbo];
EXEC sys.sp_addrolemember
''db_datareader'',
''' + QUOTENAME(@user_name) + ''';
EXEC sys.sp_addrolemember
''db_denydatawriter'',
'''
+ QUOTENAME(@user_name) + ''';
GO
'
FROM sys.databases
WHERE database_id > 4
AND state_desc = 'ONLINE'
Или вы можете посмотреть sys.sp_MSforeachdb
как здесь или улучшенную версию Аарона Бертрана здесь
Если вы не видите всесимволы при запуске, откройте параметры запроса для текста и проверьте параметр «Максимальное количество символов, отображаемых в каждом столбце».Убедитесь, что это значение достаточно велико для отображения всех символов.