无法通过脚本将用户添加到db_datareader

时间:2013-02-25 23:33:37

标签: sql sql-server tsql sql-server-2008-r2

我有以下脚本:

ALTER ROLE [db_datareader] ADD MEMBER [DomainGroup123]

当我针对SQL Server 2008 R2运行时,我收到此错误:

  

第15行,第1行,第1行,第1行   关键字“ADD”附近的语法不正确。

我已在线查看,发现examples使用了这个确切的声明(但是使用了不同的用户。)

我已经仔细检查过登录是否存在,并且是我正在使用的数据库上的有效用户。此外,我在服务器上拥有SA权限。

我在忙什么?

3 个答案:

答案 0 :(得分:19)

使用sp_addrolemember。

EXECUTE sp_addrolemember db_datareader, 'UserName'

答案 1 :(得分:9)

找到了这个答案:https://stackoverflow.com/a/456365/16241

这告诉我,我可以像这样运行它:

exec sp_addrolemember db_datareader, [DomainGroup123]

我做到了,而且有效。

答案 2 :(得分:4)

我注意到,根据服务器的版本,我需要执行以下操作之一。

alter role RoleName add member UserName

execute sp_addrolemember RoleName, UserName

我正在考虑将我的方法从反复试验改为某种条件,但(a)这种操作在我的情况下很少进行,而且(b)我现在有点懒惰。