要为SQL Server中的用户分配db_datareader
和db_datawriter
角色的确切SQL是什么?
用户名为MYUSER
,数据库为MYDB
。
Answers:
在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;
从SQLServer 2012更优雅的alter角色:
use mydb
go
ALTER ROLE db_datareader
ADD MEMBER MYUSER
go
ALTER ROLE db_datawriter
ADD MEMBER MYUSER
go