12

我有以下脚本:

ALTER ROLE [db_datareader] ADD MEMBER [DomainGroup123]

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

消息 156,级别 15,状态 1,第 1 行
关键字“添加”附近的语法不正确。

我在网上查看过,并找到了使用此确切语句的示例(但使用不同的用户。)

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

我在发什么?

4

3 回答 3

23

使用 sp_addrolemember。

EXECUTE sp_addrolemember db_datareader, 'UserName'
于 2013-02-25T23:41:14.907 回答
9

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

这表明我可以像这样运行它:

exec sp_addrolemember db_datareader, [DomainGroup123]

我这样做了,它奏效了。

于 2013-02-25T23:40:51.530 回答
4

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

alter role RoleName add member UserName

或者

execute sp_addrolemember RoleName, UserName

我正在考虑将我的方法从试错法更改为某种有条件的方法,但是(a)在我的情况下很少执行此操作,并且(b)我现在有点懒惰。

于 2015-01-22T08:42:41.390 回答