SQL Server 2008中架构.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
架构是指包含表、视图、过程等的容器。它位于数据库内部,而数据库位于服务器内部。这些实体就像嵌套框放置在一起。服务器是最外面的框,而架构是最里面的框。架构包含下面列出的所有安全对象,但是它不包含其他框。必须位于架构内部的安全对象 类 类型 TYPE XML 架构集合 XML SCHEMA COLLECTION 表 OBJECT 视图 OBJECT 过程 OBJECT 函数 OBJECT 聚合函数 OBJECT 约束 OBJECT 同义词 OBJECT 队列 OBJECT 统计信息 OBJECT 特定架构中的每个安全对象都必须有唯一的名称。架构中安全对象的完全指定名称包括此安全对象所在的架构的名称。因此,架构也是命名空间。 注意: 在 SQL Server 2000 和早期版本中,数据库可以包含一个名为“架构”的实体,但此实体实际上是数据库用户。在 SQL Server 2005 和 SQL Server 2008 中,架构既是一个容器,又是一个命名空间。 安全对象是 SQL Server 数据库引擎授权系统控制对其进行访问的资源。通过创建可以为自己设置安全性的名为“范围”的嵌套层次结构,可以将某些安全对象包含在其他安全对象中。安全对象范围有服务器、数据库和架构。 安全对象范围:服务器 包含以下安全对象: 端点 登录帐户 数据库 安全对象范围:数据库 包含以下安全对象: 用户 角色 应用程序角色 程序集 消息类型 路由 服务 远程服务绑定 全文目录 证书 非对称密钥 对称密钥 约定 架构 安全对象范围:架构 包含以下安全对象: 类型 XML 架构集合 对象 对象 下面是对象类的成员: 聚合 约束 函数 过程 队列 统计信息 同义词 表 视图在 SQL Server 2005 中,架构行为已更改。架构不再等效于数据库用户;现在,每个架构都是独立于创建它的数据库用户存在的不同命名空间。也就是说,架构只是对象的容器。任何用户都可以拥有架构,并且架构所有权可以转移。 新行为 所有权与架构的分离具有重要的意义: 架构的所有权和架构范围内的安全对象可以转移。有关详细信息,请参阅 ALTER AUTHORIZATION (Transact-SQL)。 对象可以在架构之间移动。有关详细信息,请参阅 ALTER SCHEMA (Transact-SQL)。 单个架构可以包含由多个数据库用户拥有的对象。 多个数据库用户可以共享单个默认架构。 与早期版本相比,对架构及架构中包含的安全对象的权限的管理更加精细。有关详细信息,请参阅 GRANT 架构权限 (Transact-SQL) 和 GRANT 对象权限 (Transact-SQL)。 架构可以由任何数据库主体拥有。这包括角色和应用程序角色。 可以删除数据库用户而不删除相应架构中的对象。 如果为 SQL Server 早期版本编写的代码假定架构等效于数据库用户,这些代码可能会返回错误的结果。 为 SQL Server 早期版本设计的目录视图可能会返回错误的结果。这包括 sysobjects。 默认架构 为了解析不完全限定的安全对象名称,SQL Server 2000 使用名称解析来检查执行调用的数据库用户所拥有的架构和 dbo 所拥有的架构。 从 SQL Server 2005 开始,每个用户都拥有一个默认架构。可以使用 CREATE USER 或 ALTER USER 的 DEFAULT_SCHEMA 选项设置和更改默认架构。 如果 DEFAULT_SCHEMA 保持未定义状态,则用户将以 dbo 作为其默认架构。可以将 DEFAULT_SCHEMA 设置为数据库中当前不存在的架构。因此,可以在创建架构之前将 DEFAULT_SCHEMA 分配给用户。不能为映射到 Windows 组、证书或非对称密钥的用户指定 DEFAULT_SCHEMA。 create login sc with password='hnufesc',DEFAULT_DATABASE = student use student create user sc for login sc grant select on schema::student to sc –-用户sc拥有对架构student中所有安 全对象的select权限 revoke select on schema::student from sc –-撤销用户sc对架构student中所 有安全对象拥有的select权限 alter schema dbo transfer student.x –-将student架构中的安全对象x移入dbo 架构中 alter user sc with default_schema=s

文档评论(0)

youyang99 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档