Роль SQL Server 2008 только для чтения для рабочей машины - PullRequest
0 голосов
/ 20 июня 2011

Я программист, временно наделенный полномочиями администратора в нашей фирме. Мне нужно создать идентификатор пользователя (или роль), который будет иметь доступ только для чтения ко всему на производственном SQL Server 2008.

Этот пользователь должен иметь доступ только для чтения ко всем БД на этом компьютере. Это включает возможность просмотра данных, схемы, сценариев, хранимых процедур, функций, дизайна таблиц, связанных серверов, заданий агента SQL Server, идентификаторов пользователей, имен входа и т. Д.

Короче говоря, ВСЕ

Тем не менее, он не должен иметь возможность изменять или создавать любые из них.

Мне удалось достичь большинства, но я не могу получить доступ только для чтения к связанным серверам, заданиям агента SQL Server, идентификаторам пользователей, логинам.

Существуют ли какие-либо роли, которые предоставят мне только для чтения доступ к ВСЁ ?

Ответы [ 2 ]

1 голос
/ 04 января 2017

Принятый ответ не совсем корректен - добавление этой роли дает права на изменение, несмотря на название. В этом блоге рассказывается о том, как на самом деле можно выполнить эту задачу, по крайней мере, в отношении рабочих мест:

http://benchmarkitconsulting.com/colin-stasiuk/2009/01/21/creating-a-real-sqlagentreaderrole/

0 голосов
/ 21 июня 2011

удалось получить возможность просмотра всех логинов.

GRANT VIEW ANY DEFINITION TO <Read-Only-User-Who-Sees-Everything>

удалось получить возможность просмотра всех заданий на агенте SQL Server:

EXEC sp_addrolemember 'SQLAgentReaderRole', '<ReadOnly-User-Who-Sees-Everything>' 

Удалось получить возможность просмотра свойств Связанного Сервера. Окно свойств все еще пустое, но следующие операторы SQL пока делают свое дело.

select * from sys.linked_logins 
select * from sys.servers 
...