"GRANT ALL TO role" in SQL Server

5
请问在SQL Server 2005中,以下语句的作用是什么:
GRANT ALL TO pax_writer

pax_writer是之前使用语句创建的数据库角色

CREATE ROLE pax_writer AUTHORIZATION dbo
2个回答

4
“GRANT ALL TO 'someone'”授予数据库中所有对象的所有权限。但是我不确定这是否适用于SQL Server 2005,据我所知,他们只为向后兼容性保留了“GRANT ALL”。
根据SQL Server 2005中的文章:
1. 如果安全对象是一个数据库,“ALL”表示BACKUP DATABASE、BACKUP LOG、CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE TABLE和CREATE VIEW。
2. 如果安全对象是标量函数,“ALL”表示EXECUTE和REFERENCES。
3. 如果安全对象是表值函数,“ALL”表示DELETE、INSERT、REFERENCES、SELECT和UPDATE。
4. 如果安全对象是存储过程,“ALL”表示EXECUTE。
5. 如果安全对象是表,“ALL”表示DELETE、INSERT、REFERENCES、SELECT和UPDATE。
6. 如果安全对象是视图,“ALL”表示DELETE、INSERT、REFERENCES、SELECT和UPDATE。
希望有人能提供正确答案。
This translates to:

MSDN - GRANT

(Note: This appears to be a piece of code or markup language, and may not have a direct translation.)

你确定吗?MSDN文档明确表示:“它不授予所有可能的权限”。 - Phillip Wells
在这篇文章中,我讲述了它的工作原理。但是在早期版本的SQL Server中可能会像我所说的那样。不幸的是,我不确定。 - Alan Featherston
我认为不使用GRANT ALL是个好主意,改变的原因是在SQL Server 2005中添加了各种范围的附加权限,可以用来管理用户权限。 - Alan Featherston

4

授予数据库权限

只有在此时,您才可以省略 ON ThingsAndStuff 子句。

ALL

此选项不会授予所有可能的权限。授予 ALL 等同于授予以下权限:BACKUP DATABASE、BACKUP LOG、CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE RULE、CREATE TABLE 和 CREATE VIEW。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接