6327.Permissions_Poster_2012.pdf

preview
需积分: 0 1 下载量 3 浏览量 更新于2016-01-12 收藏 306KB PDF 举报
### SQL Server 2012权限结构详解 #### 一、概述 在SQL Server 2012中,权限管理是确保数据安全性和完整性的重要组成部分。通过对不同层级(服务器级别、数据库级别)的对象进行访问控制,可以有效地防止未经授权的数据访问或修改行为。本文将详细介绍SQL Server 2012中的权限体系结构,包括服务器级别的权限、数据库级别的权限以及对特定对象的操作权限。 #### 二、服务器级别权限 服务器级别的权限主要包括以下几类: 1. **Top Level Server Permissions**: - **ALTER ANY APPLICATION ROLE**: 修改任何应用程序角色。 - **ALTER ANY ASSEMBLY**: 修改任何程序集。 - **ALTER ANY ASYMMETRIC KEY**: 修改任何非对称密钥。 - **ALTER ANY CERTIFICATE**: 修改任何证书。 - **ALTER ANY CONTRACT**: 修改任何合同。 - **ALTER ANY DATABASE AUDIT**: 修改任何数据库审计设置。 - **ALTER ANY DATABASE DDL TRIGGER**: 修改任何数据库DDL触发器。 - **ALTER ANY DATABASE EVENT NOTIFICATION**: 修改任何数据库事件通知。 - **ALTER ANY DATA SPACE**: 修改任何数据空间。 - **ALTER ANY FULL TEXT CATALOG**: 修改任何全文目录。 - **ALTER ANY MESSAGE TYPE**: 修改任何消息类型。 - **ALTER ANY REMOTE SERVICE BINDING**: 修改任何远程服务绑定。 - **ALTER ANY ROLE**: 修改任何角色。 - **ALTER ANY ROUTE**: 修改任何路由。 - **ALTER ANY SCHEMA**: 修改任何模式。 - **ALTER ANY SERVICE**: 修改任何服务。 - **ALTER ANY SYMMETRIC KEY**: 修改任何对称密钥。 - **ALTER ANY USER**: 修改任何用户。 2. **Top Level Database Permissions**: - **CONTROL ON DATABASE::<name>**: 控制指定数据库的所有权限。 - **CREATE ASSEMBLY**: 创建程序集。 - **CREATE ASYMMETRIC KEY**: 创建非对称密钥。 - **CREATE CERTIFICATE**: 创建证书。 - **CREATE CONTRACT**: 创建合同。 - **CREATE DATABASE DDL EVENT NOTIFICATION**: 创建数据库DDL事件通知。 - **CREATE FULL TEXT CATALOG**: 创建全文目录。 - **CREATE MESSAGE TYPE**: 创建消息类型。 - **CREATE REMOTE SERVICE BINDING**: 创建远程服务绑定。 - **CREATE ROLE**: 创建角色。 - **CREATE ROUTE**: 创建路由。 - **CREATE SCHEMA**: 创建模式。 - **CREATE SERVICE**: 创建服务。 - **CREATE SYMMETRIC KEY**: 创建对称密钥。 - **AUTHENTICATE**: 验证。 - **BACKUP DATABASE**: 备份数据库。 - **BACKUP LOG**: 备份日志。 - **CHECKPOINT**: 执行检查点操作。 - **CONNECT REPLICATION**: 连接复制。 - **DELETE**: 删除。 - **EXECUTE**: 执行。 - **INSERT**: 插入。 - **REFERENCES**: 引用。 - **SELECT**: 查询。 - **UPDATE**: 更新。 - **VIEW DEFINITION**: 查看定义。 - **TAKE OWNERSHIP**: 获取所有权。 - **SHOW PLAN**: 显示计划。 - **SUBSCRIBE QUERY NOTIFICATIONS**: 订阅查询通知。 - **VIEW DATABASE STATE**: 查看数据库状态。 - **CONTROL SERVER**: 控制服务器。 - **CONNECT DATABASE**: 连接数据库。 - **STATEMENTS**: 执行SQL语句。 - **CREATE DATABASE AUDIT SPECIFICATION**: 创建数据库审计规范。 - **CREATE/ALTER/DROP database triggers**: 创建/更改/删除数据库触发器。 - **PARTITION & PLAN GUIDE statements**: 执行分区与计划指南语句。 - **Combined with TRUSTWORTHY allows delegation of authentication**: 结合“可信”选项允许委托认证。 #### 三、数据库级别权限 数据库级别的权限主要涉及以下几个方面: - **CREATE AGGREGATE**: 创建聚合函数。 - **CREATE DEFAULT**: 创建默认值。 - **CREATE FUNCTION**: 创建函数。 - **CREATE PROCEDURE**: 创建存储过程。 - **CREATE QUEUE**: 创建队列。 - **CREATE RULE**: 创建规则。 - **CREATE SYNONYM**: 创建同义词。 - **CREATE TABLE**: 创建表。 - **CREATE TYPE**: 创建类型。 - **CREATE VIEW**: 创建视图。 - **CREATE XML SCHEMA COLLECTION**: 创建XML模式集合。 #### 四、特定对象的操作权限 对于数据库中的特定对象,如表、视图等,可以授予以下权限: - **RECEIVE ON OBJECT::<queuename>**: 接收队列中的消息。 - **SELECT ON OBJECT::<queuename>**: 选择队列中的消息。 - **INSERT ON OBJECT::<table|viewname>**: 在表或视图中插入数据。 - **UPDATE ON OBJECT::<table|viewname>**: 更新表或视图中的数据。 - **DELETE ON OBJECT::<table|viewname>**: 删除表或视图中的数据。 - **EXECUTE ON OBJECT|TYPE|XMLSCHEMACOLLECTION::<name>**: 执行特定对象的操作。 - **REFERENCES ON OBJECT|TYPE|XMLSCHEMACOLLECTION::<name>**: 引用特定对象。 - **VIEW DEFINITION ON OBJECT|TYPE::<name>**: 查看对象的定义。 #### 五、总结 通过以上详细的介绍,我们可以看到SQL Server 2012提供了非常丰富的权限管理体系,既包括了服务器级别的权限管理,也包含了数据库级别的权限设置以及针对具体对象的操作权限。这些权限机制的灵活组合能够帮助管理员根据实际需求制定合理的访问策略,从而有效保障数据的安全性与完整性。在实际应用中,合理配置权限不仅可以提高系统的安全性,还能提高数据管理和使用的效率。