Jednym ze sposobów byłoby ustawienie „Wyniki na tekst” w menu zapytań w SSMS, a następnie wykonanie poniższych czynności.
W rzeczywistości nie wprowadza zmiany, ale generuje skrypt do sprawdzenia i wykonania.
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'
Możesz też spojrzeć na sys.sp_MSforeachdb
jak tutaj lub ulepszona wersja Aarona Bertranda tutaj
Jeśli po uruchomieniu nie widzisz wszystkich znaków, otwórz Opcje zapytania dla tekstu i sprawdź ustawienie „Maksymalna liczba znaków wyświetlanych w każdej kolumnie”. Upewnij się, że jest ustawiony na wartość wystarczająco dużą, aby wyświetlić wszystkie znaki.