Een manier zou zijn om "Resultaten op tekst" in te stellen in het zoekmenu in SSMS en vervolgens het onderstaande uit te voeren.
Het brengt de wijziging niet echt aan, maar genereert een script dat u kunt bekijken en uitvoeren.
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'
Of je zou kunnen kijken naar sys.sp_MSforeachdb
zoals hier of de verbeterde versie van Aaron Bertrand hier
Als u niet alle tekens ziet wanneer u dit uitvoert, opent u de Query-opties voor tekst en controleert u de instelling voor 'Maximum aantal tekens dat in elke kolom wordt weergegeven'. Zorg ervoor dat dit is ingesteld op een waarde die groot genoeg is om alle tekens weer te geven.