什么是T-SQL要授予SQL Server中数据库中表的读写权限?

Con*_*tah 69 t-sql sql-server

在SQL Server中为用户分配db_datareaderdb_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)