grant,revoke,deny 服务器权限控制命令
来源:互联网 发布:无主之地2mac汉化 编辑:程序博客网 时间:2024/05/21 06:19
GRANT服务器权限命令
为主体授予安全对象的权限。 一般概念是 GRANT <某种权限> ON <某个对象> TO <某个用户、登录名或组>。 有关权限的一般讨论,请参阅权限(数据库引擎)。
语法
Simplified syntax for GRANTGRANT { ALL [ PRIVILEGES ] } | permission [ ( column [ ,...n ] ) ] [ ,...n ] [ ON [ class :: ] securable ] TO principal [ ,...n ] [ WITH GRANT OPTION ] [ AS principal ]参数
GRANT 语句的完整语法非常复杂。 上面的语法关系图进行了简化以突出其结构。 下面列出的主题介绍了在授予特定安全对象权限时使用的完整语法。
REVOKE 语句可用于删除已授予的权限,DENY 语句可用于防止主体通过 GRANT 获得特定权限。
授予权限将删除对所指定安全对象的相应权限的 DENY 或 REVOKE 权限。如果在包含该安全对象的更高级别拒绝了相同的权限,则 DENY 优先。但是,在更高级别撤消已授予权限的操作并不优先。
数据库级权限在指定的数据库范围内授予。 如果用户需要另一个数据库中的对象的权限,请在该数据库中创建用户帐户,或者授权用户帐户访问该数据库以及当前数据库。
表级 DENY 并不优先于列级 GRANT。 保留了权限层次结构中这种不一致性以保持向后兼容。 未来的版本会将其删除。
sp_helprotect 系统存储过程报告数据库级安全对象的权限。
GRANT …WITH GRANT OPTION 指定向接收权限的安全主体提供向其他安全帐户授予指定权限的能力。在接收权限的主体是某一角色或某一 Windows 组时,如果需要进一步将对象权限授予不是该组或角色的成员的用户,则必须使用AS 子句。 因为只有用户(而非某个组或角色)才能执行 GRANT 语句,所以,在授予权限时,该组或角色的特定成员必须使用AS 子句显式调用该角色或组成员身份。下面的示例说明如何在授予角色或 Windows 组时使用 WITH GRANT OPTION。
-- Execute the following as a database ownerGRANT EXECUTE ON TestProc TO TesterRole WITH GRANT OPTIONEXEC sp_addrolemember TesterRole, User1;-- Execute the following as User1-- The following fails because User1 does not have the permission as the User1GRANT EXECUTE ON TestMe TO User2;-- The following succeeds because User1 invokes the TesterRole membershipGRANT EXECUTE ON TestMe TO User2 AS TesterRole;
有关 pdf 格式的所有数据库引擎权限的海报大小图表,请参阅 http://go.microsoft.com/fwlink/?LinkId=229142。
授权者(或用 AS 选项指定的主体)自身必须具有此权限(带 GRANT OPTION),或具有隐含所授予权限的更高权限。如果使用 AS 选项,则还应满足其他要求。有关详细信息,请参阅特定于安全对象的主题。
对象所有者可以授予对其所拥有的对象的权限。 对某安全对象具有 CONTROL 权限的主体可以授予对该安全对象的权限。
被授予 CONTROL SERVER 权限的用户(例如 sysadmin 固定服务器角色的成员)可以授予对相应服务器中任一个安全对象的任意权限。被授予数据库的 CONTROL 权限的用户(例如 db_owner 固定数据库角色的成员)可以授予数据库中任何安全对象的任意权限。被授予架构的 CONTROL 权限的用户可以授予架构中任何对象的任意权限。
下表列出了安全对象以及描述特定于安全对象的语法的主题。
应用程序角色
GRANT 数据库主体权限 (Transact-SQL)
程序集
GRANT 程序集权限 (Transact-SQL)
非对称密钥
GRANT 非对称密钥权限 (Transact-SQL)
可用性组
GRANT 可用性组权限 (Transact-SQL)
证书
GRANT 证书权限 (Transact-SQL)
约定
GRANT Service Broker 权限 (Transact-SQL)
数据库
GRANT 数据库权限 (Transact-SQL)
端点
GRANT 端点权限 (Transact-SQL)
全文目录
GRANT 全文权限 (Transact-SQL)
全文非索引字表
GRANT 全文权限 (Transact-SQL)
函数
GRANT 对象权限 (Transact-SQL)
登录
通过 GRANT 语句授予服务器主体权限 (Transact-SQL)
消息类型
GRANT Service Broker 权限 (Transact-SQL)
对象
GRANT 对象权限 (Transact-SQL)
队列
GRANT 对象权限 (Transact-SQL)
远程服务绑定
GRANT Service Broker 权限 (Transact-SQL)
角色
GRANT 数据库主体权限 (Transact-SQL)
路由
GRANT Service Broker 权限 (Transact-SQL)
架构
GRANT 架构权限 (Transact-SQL)
搜索属性列表
授予搜索属性列表权限 (Transact-SQL)
服务器
GRANT 服务器权限 (Transact-SQL)
服务
GRANT Service Broker 权限 (Transact-SQL)
存储过程
GRANT 对象权限 (Transact-SQL)
对称密钥
GRANT 对称密钥权限 (Transact-SQL)
同义词
GRANT 对象权限 (Transact-SQL)
系统对象
GRANT 系统对象权限 (Transact-SQL)
表
GRANT 对象权限 (Transact-SQL)
类型
GRANT 类型权限 (Transact-SQL)
用户
GRANT 数据库主体权限 (Transact-SQL)
视图
GRANT 对象权限 (Transact-SQL)
XML 架构集合
GRANT XML 架构集合权限 (Transact-SQL)
REVOKE服务器权限命令
删除服务器级 GRANT 和 DENY 权限。
REVOKE [ GRANT OPTION FOR ] permission [ ,...n ] { TO | FROM } <grantee_principal> [ ,...n ] [ CASCADE ] [ AS <grantor_principal> ] <grantee_principal> ::= SQL_Server_login | SQL_Server_login_mapped_to_Windows_login | SQL_Server_login_mapped_to_Windows_group | SQL_Server_login_mapped_to_certificate | SQL_Server_login_mapped_to_asymmetric_key | server_role<grantor_principal> ::= SQL_Server_login | SQL_Server_login_mapped_to_Windows_login | SQL_Server_login_mapped_to_Windows_group | SQL_Server_login_mapped_to_certificate | SQL_Server_login_mapped_to_asymmetric_key | server_role参数
只有在当前数据库为 master 时,才能撤消服务器作用域内的权限。
REVOKE 操作可同时删除 GRANT 和 DENY 权限。
可以使用 REVOKE GRANT OPTION FOR 撤消重新授予指定权限的权限。如果主体所具有的权限还带有授予该权限的权限,则将撤消授予该权限的权限,而不会撤消权限本身。但是,如果主体具有不带 GRANT 选项的指定权限,则会撤消权限本身。
可以在 sys.server_permissions 目录视图中查看有关服务器权限的信息;在 sys.server_principals 目录视图中查看有关服务器主体的信息; 以及在 sys.server_role_members 目录视图中查看有关服务器角色成员身份的信息。
服务器是权限层次结构的最高级别。 下表列出了可撤消的对服务器最为具体的限定权限。
服务器权限
服务器权限隐含的权限
ADMINISTER BULK OPERATIONS
CONTROL SERVER
ALTER ANY CONNECTION
CONTROL SERVER
ALTER ANY CREDENTIAL
CONTROL SERVER
ALTER ANY DATABASE
CONTROL SERVER
ALTER ANY ENDPOINT
CONTROL SERVER
ALTER ANY EVENT NOTIFICATION
CONTROL SERVER
ALTER ANY EVENT SESSION
CONTROL SERVER
ALTER ANY LINKED SERVER
CONTROL SERVER
ALTER ANY LOGIN
CONTROL SERVER
ALTER ANY SERVER AUDIT
CONTROL SERVER
ALTER ANY SERVER ROLE
CONTROL SERVER
ALTER RESOURCES
CONTROL SERVER
ALTER SERVER STATE
CONTROL SERVER
ALTER SETTINGS
CONTROL SERVER
ALTER TRACE
CONTROL SERVER
AUTHENTICATE SERVER
CONTROL SERVER
CONNECT SQL
CONTROL SERVER
CONTROL SERVER
CONTROL SERVER
CREATE ANY DATABASE
ALTER ANY DATABASE
CREATE DDL EVENT NOTIFICATION
ALTER ANY EVENT NOTIFICATION
CREATE ENDPOINT
ALTER ANY ENDPOINT
CREATE TRACE EVENT NOTIFICATION
ALTER ANY EVENT NOTIFICATION
EXTERNAL ACCESS ASSEMBLY
CONTROL SERVER
SHUTDOWN
CONTROL SERVER
UNSAFE ASSEMBLY
CONTROL SERVER
VIEW ANY DATABASE
VIEW ANY DEFINITION
VIEW ANY DEFINITION
CONTROL SERVER
VIEW SERVER STATE
ALTER SERVER STATE
要求具有 CONTROL SERVER 权限,或者具有 sysadmin 固定服务器角色的成员身份。
A.从登录名中撤消权限
以下示例从 SQL Server 登录名 WanidaBenshoof 中撤消VIEW SERVER STATE 权限。
USE master;REVOKE VIEW SERVER STATE FROM WanidaBenshoof;GO
B.撤消 WITH GRANT 选项
以下示例从 SQL Server 登录名 JanethEsteves 中撤消授予CONNECT SQL 的权限。
USE master;REVOKE GRANT OPTION FOR CONNECT SQL FROM JanethEsteves;GO
该登录名仍然具有 CONNECT SQL 权限,但是不能将该权限再授予其他主体。
DENY 服务器权限命令
拒绝为主体授予权限。 防止该主体通过组或角色成员身份继承权限。
Simplified syntax for DENYDENY { ALL [ PRIVILEGES ] } | permission [ ( column [ ,...n ] ) ] [ ,...n ] [ ON [ class :: ] securable ] TO principal [ ,...n ] [ CASCADE] [ AS principal ]参数
DENY 语句的完整语法很复杂。 上面的语法关系图进行了简化以突出其结构。 下列主题说明了用于拒绝授予特定安全对象的权限的完整语法。
如果在拒绝为主体授予某种权限时未指定 CASCADE,而之前为该主体授予此权限时指定了 GRANT OPTION,则 DENY 将失败。
sp_helprotect 系统存储过程报告数据库级安全对象的权限。
表级 DENY 并不优先于列级 GRANT。 保留了权限层次结构中这种不一致性以保持向后兼容。 未来的版本会将其删除。
拒绝授予数据库 CONTROL 权限将隐式拒绝授予该数据库 CONNECT 权限。如果拒绝授予某一主体对某一数据库的 CONTROL 权限,该主体将无法连接到该数据库。
拒绝授予 CONTROL SERVER 权限将隐式拒绝授予对服务器的 CONNECT SQL 权限。如果拒绝授予某一主体对某一服务器的 CONTROL SERVER 权限,该主体将无法连接到该服务器。
调用方(或使用 AS 选项指定的主体)必须对安全对象具有 CONTROL 权限,或对该安全对象具有隐含 CONTROL 权限的更高权限。如果使用 AS 选项,那么指定主体必须拥有其权限被拒绝授予的安全对象。
被授予 CONTROL SERVER 权限的用户(如 sysadmin 固定服务器角色的成员)可以拒绝授予服务器中的任何安全对象的任意权限。被授予数据库的 CONTROL 权限的用户(如 db_owner 固定数据库角色的成员)可以拒绝授予数据库中的任何安全对象的任意权限。被授予架构 CONTROL 权限的用户可以拒绝对架构中任何对象授予权限。 如果使用 AS 子句,那么指定主体必须拥有其权限被拒绝授予的安全对象。
下表列出了安全对象以及描述特定于安全对象的语法的主题。
应用程序角色
DENY 数据库主体权限 (Transact-SQL)
程序集
DENY 程序集权限 (Transact-SQL)
非对称密钥
DENY 非对称密钥权限 (Transact-SQL)
可用性组
DENY 可用性组权限 (Transact-SQL)
证书
DENY 证书权限 (Transact-SQL)
约定
DENY Service Broker 权限 (Transact-SQL)
数据库
DENY 数据库权限 (Transact-SQL)
端点
DENY 端点权限 (Transact-SQL)
全文目录
DENY 全文权限 (Transact-SQL)
全文非索引字表
DENY 全文权限 (Transact-SQL)
函数
DENY 对象权限 (Transact-SQL)
登录
拒绝服务器主体权限 (Transact-SQL)
消息类型
DENY Service Broker 权限 (Transact-SQL)
对象
DENY 对象权限 (Transact-SQL)
队列
DENY 对象权限 (Transact-SQL)
远程服务绑定
DENY Service Broker 权限 (Transact-SQL)
角色
DENY 数据库主体权限 (Transact-SQL)
路由
DENY Service Broker 权限 (Transact-SQL)
架构
DENY 架构权限 (Transact-SQL)
搜索属性列表
拒绝搜索属性列表权限 (Transact-SQL)
服务器
DENY 服务器权限 (Transact-SQL)
服务
DENY Service Broker 权限 (Transact-SQL)
存储过程
DENY 对象权限 (Transact-SQL)
对称密钥
DENY 对称密钥权限 (Transact-SQL)
同义词
DENY 对象权限 (Transact-SQL)
系统对象
DENY 系统对象权限 (Transact-SQL)
表
DENY 对象权限 (Transact-SQL)
类型
DENY 类型权限 (Transact-SQL)
用户
DENY 数据库主体权限 (Transact-SQL)
视图
DENY 对象权限 (Transact-SQL)
XML 架构集合
DENY XML 架构集合权限 (Transact-SQL)
- grant,revoke,deny 服务器权限控制命令
- GRANT /DENY/REVOKE
- 区分Grant,Deny和Revoke
- 数据控制:grant,revoke
- SQL SERVER 对权限的授予GRANT、拒绝DENY、收回REVOKE
- 表空间、用户、权限、角色 (数据控制语言-DCL-grant,revoke)
- grant授权和revoke回收权限
- mysql管理用户权限grant与revoke命令
- mysql赋权与收回权限(grant&revoke) 删除权限
- mysql赋权与收回权限(grant&revoke)
- mysql赋权与收回权限(grant&revoke)
- oracle常见受权与回收权限 grant和revoke
- Oracle学习笔记(1)Oracle 权限(grant、revoke)
- Mysql命令grant on:增加新用户并控制其权限
- MySQL命令grant on:增加新用户并控制其权限
- GRANT和REVOKE语句
- Oracle grant revoke 总结
- Oracle Grant / REVOKE 正解
- [开源]文件夹比较和同步工具 FreeFileSync
- html代码中 target=_blank
- 文献管理软件比较
- 共享变量的可以见性
- fopen的巧妙用法--清空一个已经存在的文件,但不删除这个文件 fgets取文件一行
- grant,revoke,deny 服务器权限控制命令
- 一个游戏程序员的学习资料
- SHELL 编程入门与提高(一)第一个shell程序
- Flex主题教程系列4--Flex组件生命周期之生活周期
- linux c -- 环境变量和参数
- JAVA类集----List接口
- hdu 1010 深搜+奇偶剪枝
- 编程珠矶 第八章 第9题
- Oracle10.2下载地址