0

好的,所以我有一个数据库、一个登录名和一个分配给登录名的数据库用户。要授予该用户 db_datareader 和 db_datawriter 访问数据库的权限,我会这样做:

USE [mydatabase];
EXEC sp_addrolemember db_datareader, [myuser];
EXEC sp_addrolemember db_datawriter, [myuser];

但是,如果我正确阅读了文档sp_addrolemember,则不鼓励使用:

此功能将在 Microsoft SQL Server 的未来版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。请改用 ALTER ROLE。

那么如何使用 ALTER ROLE 来做到这一点?当我这样做时:

ALTER ROLE sys.database_role_members.db_datareader ADD MEMBER [myuser];

我收到此错误:

ADD MEMBER 附近的语法不正确

4

1 回答 1

2

如果您使用的是 sql server 2008,则只能sp_addrolemember工作。

alter role 语法仅对 2012 版本有效。这是由于您收到不正确的语法错误

于 2013-10-24T00:37:47.207 回答