在SQL Server中为用户分配db_datareader和db_datawriter角色的确切SQL是什么?
用户名是MYUSER和数据库MYDB.
cms*_*sjr 100
在SQL Server 2012中,2014年:
USE mydb
GO
ALTER ROLE db_datareader ADD MEMBER MYUSER
GO
ALTER ROLE db_datawriter ADD MEMBER MYUSER
GO
Run Code Online (Sandbox Code Playgroud)
在SQL Server 2008中:
use mydb
go
exec sp_addrolemember db_datareader, MYUSER
go
exec sp_addrolemember db_datawriter, MYUSER
go
Run Code Online (Sandbox Code Playgroud)
还要分配执行数据库的所有存储过程的功能:
GRANT EXECUTE TO MYUSER;
Run Code Online (Sandbox Code Playgroud)
要分配执行特定存储过程的能力:
GRANT EXECUTE ON dbo.sp_mystoredprocedure TO MYUSER;
Run Code Online (Sandbox Code Playgroud)
dan*_*era 12
从SQLServer 2012更优雅的角色:
use mydb
go
ALTER ROLE db_datareader
ADD MEMBER MYUSER
go
ALTER ROLE db_datawriter
ADD MEMBER MYUSER
go
Run Code Online (Sandbox Code Playgroud)