要授予对SQLServer中数据库中表的读和写访问权限的T-SQL是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

要分配的确切SQL是什么?db_datareaderdb_datawriterSQLServer中的用户角色?

用户名是MYUSER数据库是MYDB

提问于
用户回答回答于

在SQLServer 2012,2014中:

USE mydb
GO

ALTER ROLE db_datareader ADD MEMBER MYUSER
GO
ALTER ROLE db_datawriter ADD MEMBER MYUSER
GO

在SQLServer 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;
用户回答回答于

use mydb
go

ALTER ROLE db_datareader
  ADD MEMBER MYUSER 
go
ALTER ROLE db_datawriter
  ADD MEMBER MYUSER 
go

扫码关注云+社区