Un modo sarebbe impostare "Risultati su testo" nel menu delle query in SSMS, quindi eseguire quanto segue.
In realtà non apporta la modifica, ma genera uno script da rivedere ed eseguire.
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'
Oppure potresti guardare sys.sp_MSforeachdb
come qui o la versione migliorata di Aaron Bertrand qui
Se non vedi tutti i caratteri quando esegui questo, apri le Opzioni di query per il testo e controlla l'impostazione per "Numero massimo di caratteri visualizzati in ogni colonna". Assicurati che sia impostato su un valore sufficientemente grande da visualizzare tutti i caratteri.