Назад | Перейти на главную страницу

MSSQL db_datareader для всех баз данных

У меня 100 баз данных на сервере MSSQL 2008. Мне нужно создать пользователя только для чтения, чтобы читать все эти базы данных. Есть ли роль для всего сервера: db_datareader, которую я могу назначить пользователю, чтобы мне не нужно было просматривать каждую базу данных для добавления сопоставления пользователей.

Спасибо Тим

Кому это может помочь, это мой последний сценарий:

 --You will need Server Level's Login user123 created first.
 -- >=7 filtered out the system database, use this to find out your number
 -- EXEC sp_MSForEachDB 'use ? SELECT DB_ID(), DB_NAME()'
 EXEC sp_MSForEachDB
   'USE ?
    IF DB_ID() >= 7 
    BEGIN
       CREATE USER user123 FOR LOGIN user123
       EXEC sp_addrolemember db_datareader, user123
    END
   '
EXEC sp_MSForEachDB
  'USE ?
   IF DBID() >= 5 EXEC sp_addrolemember ''db_datareader'', ''MyUser'' '