Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何授予数据库用户读/写访问权限角色;“新方式”;?_Sql_Sql Server_Sql Server 2008_Tsql - Fatal编程技术网

Sql 如何授予数据库用户读/写访问权限角色;“新方式”;?

Sql 如何授予数据库用户读/写访问权限角色;“新方式”;?,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,好的,我有一个数据库,一个登录名和一个分配给登录名的数据库用户。要授予用户db_datareader和db_datawriter访问数据库的权限,我将执行以下操作: USE [mydatabase]; EXEC sp_addrolemember db_datareader, [myuser]; EXEC sp_addrolemember db_datawriter, [myuser]; 但是,如果我阅读正确,则不鼓励使用sp\u addrolemember: 此功能将在Microsoft SQ

好的,我有一个数据库,一个登录名和一个分配给登录名的数据库用户。要授予用户db_datareader和db_datawriter访问数据库的权限,我将执行以下操作:

USE [mydatabase];
EXEC sp_addrolemember db_datareader, [myuser];
EXEC sp_addrolemember db_datawriter, [myuser];
但是,如果我阅读正确,则不鼓励使用
sp\u addrolemember

此功能将在Microsoft SQL的未来版本中删除 服务器。避免在新的开发工作中使用此功能,并计划 修改当前使用此功能的应用程序。使用ALTER角色 相反

那么,如何使用alterrole实现这一点呢?当我这样做时:

ALTER ROLE sys.database_role_members.db_datareader ADD MEMBER [myuser];
我得到这个错误:

添加成员附近的语法不正确


如果您使用的是sql server 2008,则只能使用
sp\u addrolemember


alter role语法仅对2012版本有效。这是因为您遇到了不正确的语法错误

如果您是在2008年,您使用的文档版本是错误的。使用“其他版本”下拉列表选择与您的SQL Server版本相关的版本。