- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库sql第10章安全管理方案
10.4 架构安全管理 架构是SQL Server 2005版开始引进的一项新特征,其主要作用是将多个数据库对象归属到架构中,以解决用户与对象之间因从属关系而引起的管理问题。SQL Server 提供的示例数据库“AdventureWorks”是一个架构应用的典型实例。 架构级安全对象包括:类型、XML架构集合、聚合、约束、函数、过程、队列、统计信息、同义词、表、视图等。这些对象包含在架构内,如果需要调用架构内的对象,需要指定架构的名称,如以下代码查询AdventureWorks 库中Department表Name和GroupName列的数据,由于Department表属于架构HumanResources,因此需要指明架构的名称。 SELECT Name, GroupName FROM HumanResources.Department dbo是系统默认架构。因此如果架构是dbo,则无需指明架构名称。 10.4.1 创建架构 在SQL Server Management Studio中创建架构的过程如下: 1、在SQL Server Management Studio的“对象资源管理器”窗口中,展开服务器、数据库(“NetSales”)、安全性、架构等节点。 2、右击“架构”,在右键菜单中选择“新建架构”,在 “新建架构”对话框中输入架构名称:Orders,架构所有者:Product_Mgt。 3、单击“确定”后,完成架构的创建。 10.4.1 创建架构 创建架构的TSQL语句为“CREATE SCHEMA”,语法规则如下: CREATE SCHEMA schema_name_clause [ schema_element [ ...n ] ]schema_name_clause ::= {????????schema_name????| AUTHORIZATION owner_name????| schema_name AUTHORIZATION owner_name }schema_element ::= { table_definition | view_definition | grant_statement revoke_statement | deny_statement } 主要参数含义如下: schema_name,架构名称。 AUTHORIZATION owner_name,架构的所有者,可以是数据库用户、数据库角色和应用程序角色。 table_definition,数据表的定义语句,在创建架构的语句中可以包含数据表的创建,新建的数据表从属于该架构。 view_definition,视图的定义语句,在创建架构的语句中可以包含视图的创建,新建的视图从属于该架构。 grant_statement |revoke_statement | deny_statement,权限设置情况。 例如以下代码,创建了一个名称为“Sales_SCHEMA”,所有者为数据库角色“db_owner”的新架构。 CREATE SCHEMA Sales_SCHEMA AUTHORIZATION db_owner 10.4.2 在架构中添加对象 1、在SQL Server Management Studio的“对象资源管理器”窗口中,展开服务器、数据库(“NetSales”)、表等节点。 2、在“表”节点下,右击“订单表”,在右键菜单中选择“设计”。在 “数据表设计器”窗口中,修改“属性”窗口中的“架构”为“Orders”。 3、保存对表的上述修改。在“对象资源管理器”的“表”节点下,“订单表”前缀已被更新为“Order”,表明该表已添加到架构“Orders”。 10.4.3 在架构中移动对象 架构中的对象在需要情况下可以移动到其他架构中。移动对象到其他架构的TSQL语句为ALTER SCHEMA,语法规则如下: ALTER SCHEMA schema_name TRANSFER securable_name securable_name 是待移动的对象,需要使用“架构名.对象名”的形式来标注出待移动的架构;schema_name是目标架构。 如以下代码表示将“订单细节表”从“dbo”架构中移动到“Orders”。 ALTER SCHEMA Orders TRANSFER dbo.订单细节表 10.4.4 设置架构权限 1、在SQL Server Management Studio的“对象资源管理器”窗口中,展开服务器、数据库(“NetSales”)、安全性和架构等节点。 2、在“架构”节点下,双击要设置权限的架构“Orders”。 3、在“架构属性”
文档评论(0)