Une façon serait de définir "Résultats en texte" dans le menu de requête de SSMS, puis d'exécuter ce qui suit.
Il n'effectue pas réellement la modification, mais génère un script que vous pouvez examiner et exécuter.
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'
Ou vous pouvez regarder sys.sp_MSforeachdb
comme ici ou la version améliorée d'Aaron Bertrand ici
Si vous ne voyez pas tous les caractères lorsque vous l'exécutez, ouvrez les options de requête pour le texte et vérifiez le paramètre "Nombre maximum de caractères affichés dans chaque colonne". Assurez-vous que cette valeur est suffisamment grande pour afficher tous les caractères.