Ответ 1
добавьте пользователя в роль db_datareader
Пример
exec sp_addrolemember 'db_datareader',YourLogin
Информация о db_datareader
: http://msdn.microsoft.com/en-us/library/ms188629(SQL.90).aspx
Я хочу, чтобы группа пользователей имела доступ только для чтения ко всем таблицам и представлениям во всех базах данных на SQL Server (я использую SS2008). Я хочу, чтобы эти пользователи имели доступ только для чтения ко всем будущим таблицам и просмотру.
Как бы вы это определили?
добавьте пользователя в роль db_datareader
Пример
exec sp_addrolemember 'db_datareader',YourLogin
Информация о db_datareader
: http://msdn.microsoft.com/en-us/library/ms188629(SQL.90).aspx
DECLARE @dbname VARCHAR(50)
DECLARE @statement NVARCHAR(max)
DECLARE db_cursor CURSOR
LOCAL FAST_FORWARD
FOR SELECT name FROM MASTER.dbo.sysdatabases OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @dbname
WHILE @@FETCH_STATUS = 0
BEGIN
/* This sentence will be executed to gran the privileges. */
SELECT @statement = 'use ['[email protected]+']; '+'EXEC sp_addrolemember N''db_datareader'', N''userPeter''';
EXEC sp_executesql @statement
FETCH NEXT FROM db_cursor INTO @dbname
END
В месте, которое отображается userPeter
, вы должны написать свое имя пользователя.
Вы должны просто добавить пользователей в роль базы данных db_datareader в каждой из баз данных. Вы можете написать script для прокрутки баз данных и сделать это для вас.