sql-server - 什么是 T-SQL 授予对 SQL Server 数据库中表的读写访问权限?

标签 sql-server tsql

在 SQL Server 中向用户分配 db_datareaderdb_datawriter 角色的确切 SQL 是什么?

用户名是MYUSER,数据库是MYDB

最佳答案

在 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;

关于sql-server - 什么是 T-SQL 授予对 SQL Server 数据库中表的读写访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/456346/

相关文章:

tsql - 关于 SQL Server 2008 R2 中列的元数据?

tsql - 用于分页的公用表中的 T-SQL 动态排序依据

c# - 为什么 nhibernate LINQ 不支持简单的外部连接(给定外部连接表上的 where 子句)?

sql-server - 有没有办法让 SQL Server 中的事务或连接只读?

sql - 运行 SQL Server 2005 脚本时如何抑制 T-SQL 警告?

sql - T/SQL 效率和执行顺序

html - SQL 查询到 HTML 表

sql-server - 处理大量数据,以及在 SQL Server 2008 中使用 12 个内部联接的查询

sql-server - MS SQL Server 2008 "with (nolock)"相当于 IBM DB2 9.7

sql-server - 如何将自定义桌面应用程序数据库安装到 SQL Express?