0

我是一名程序员,临时负责我们公司的 DBA 职责。我需要创建一个对生产 SQL Server 2008 上的所有内容具有只读访问权限的用户 ID(或角色)。

该用户应该对该机器上的所有数据库具有只读访问权限。这包括能够查看数据、架构、脚本、存储过程、函数、表设计、链接服务器、SQL Server 代理作业、用户 ID、登录等。

简而言之,一切

但是,它不应该能够修改或创建任何这些。

我已经设法实现了大多数,但无法获得对链接服务器、SQL Server 代理作业、用户 ID、登录名的只读访问权限。

是否有任何角色可以让我以只读方式访问所有内容

4

2 回答 2

1

接受的答案并不完全正确 - 添加该角色授予修改权限,尽管名称。这篇博文介绍了如何实际完成这项任务,至少在工作方面:

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

于 2017-01-04T15:23:53.670 回答
0

设法获得查看所有登录信息的能力。

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 
于 2011-06-21T13:29:19.267 回答