在SQL Server中为用户分配db_datareader
和db_datawriter
角色的确切方法是什么?
用户名为MYUSER
,数据库为MYDB
。
发布于 2009-01-19 02:23:27
在SQL Server 2012中,2014:
USE mydb
GO
ALTER ROLE db_datareader ADD MEMBER MYUSER
GO
ALTER ROLE db_datawriter ADD MEMBER MYUSER
GO
在SQL Server 2008中:
use mydb
go
exec sp_addrolemember db_datareader, MYUSER
go
exec sp_addrolemember db_datawriter, MYUSER
go
要同时分配执行数据库的所有存储过程的能力:
GRANT EXECUTE TO MYUSER;
要分配执行特定存储过程的能力,请执行以下操作:
GRANT EXECUTE ON dbo.sp_mystoredprocedure TO MYUSER;
发布于 2013-12-18 22:40:28
来自SQLServer 2012更优雅的alter role
use mydb
go
ALTER ROLE db_datareader
ADD MEMBER MYUSER
go
ALTER ROLE db_datawriter
ADD MEMBER MYUSER
go
发布于 2017-04-21 17:30:12
最好是创建一个新角色,然后授予execute、select ...etc权限授予此角色,并最终将用户分配给此角色。
创建角色
CREATE ROLE [db_SomeExecutor]
GO
授予此角色权限
GRANT EXECUTE TO db_SomeExecutor
GRANT INSERT TO db_SomeExecutor
要添加用户database>security> > roles > databaseroles>Properties > Add (右下角),您可以搜索AD用户,然后添加
或
EXEC sp_addrolemember 'db_SomeExecutor', 'domainName\UserName'
请参考此post
https://stackoverflow.com/questions/456346
复制相似问题