SQLServer2008中的架构_第1页
SQLServer2008中的架构_第2页
SQLServer2008中的架构_第3页
SQLServer2008中的架构_第4页
SQLServer2008中的架构_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、架构是指包含表、视图、过程等的容器。它位于数据库内部,而数据库位于服务器内部。这些实体就像嵌套框放置在一起。服务器是最外面的框,而架构是最里面的框。架构包含下面列出的所有安全对象,但是它不包含其他框。必须位于架构内部的安全对象类类型TYPEXML架构集合XMLSCHEMACOLLECTION表OBJECT视图OBJECT过程OBJECT函数OBJECT聚合函数OBJECT约束OBJECT同义词OBJECT队列OBJECT统计信息OBJECT特定架构中的每个安全对象都必须有唯一的名称。架构中安全对象的完全指定名称包括此安全对象所在的架构的名称。因此,架构也是命名空间。在SQLServer2000

2、和早期版本中,数据库可以包含一个名为架构的实体,但此实体实际上是数据库用户。在SQLServer2005和SQLServer2008中,架构既是一个容器,又是一个命名空间。kJ,kJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJ,安全对象是SQLServer数据库引擎授权系统控制对其进行访问的资源。通过创建可以为自己设置安全性的名为“范围”的嵌套层次结构,可以将某些安全对象包含在其他安全对象中。安全对象范围有服务器、数据库和架构。-安全对象范围:服务器包含以下安

3、全对象:端点函数登录帐户数据库-安全对象范围:数据库包含以下安全对象:用户角色应用程序角色程序集消息类型路由服务远程服务绑定全文目录证书非对称密钥对称密钥约定架构-安全对象范围:架构包含以下安全对象:类型XML架构集合对象对象面是对象类的成员:聚合约束过程队列统计信息同义词表视图kJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJ,kJxkJxkJxkJxkJxkJxkJxk

4、JxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJ,在SQLServer2005中,架构行为已更改。架构不再等效于数据库用户现在,每个架构都是独立于创建它的数据库用户存在的不同命名空间。也就是说,架构只是对象的容器。任何用户都可以拥有架构,并且架构所有权可以转移。口新行为所有权与架构的分离具有重要的意义:架构的所有权和架构范围内的安全对象可以转移。有关详细信息,请参阅A

5、LTERAUTHORIZATION(Transact-SQL)。对象可以在架构之间移动。有关详细信息,请参阅ALTERSCHEMA(Transact-SQL)。单个架构可以包含由多个数据库用户拥有的对象。多个数据库用户可以共享单个默认架构。与早期版本相比,对架构及架构中包含的安全对象的权限的管理更加精细。有关详细信息,请参阅GRANT架构权限(Transact-SQL)和GRANT对象权限(Transact-SQL)。架构可以由任何数据库主体拥有。这包括角色和应用程序角色。可以删除数据库用户而不删除相应架构中的对象。如果为SQLServer早期版本编写的代码假定架构等效于数据库用户,这些代码可

6、能会返回错误的结果。为SQLServer早期版本设计的目录视图可能会返回错误的结果。这包括sysobjects。默认架构为了解析不完全限定的安全对象名称,SQLServer2000使用名称解析来检查执行调用的数据库用户所拥有的架构和dbo所拥有的架构。从SQLServer2005开始,每个用户都拥有一个默认架构。可以使用CREATEUSER或ALTERUSER的DEFAULT_SCHEMA选项设置和更改默认架构。如果DEFAULT_SCHEMA保持未定义状态,则用户将以dbo作为其默认架构。可以将DEFAULT_SCHEMA设置为数据库中当前不存在的架构。因此,可以在创建架构之前将DEFAUL

7、T_SCHEMA分配给用户。不能为映射到Windows组、证书或非对称密钥的用户指定DEFAULT_SCHEMA。createloginscwithpassword=hnufesc,DEFAULT_DATABASE=studentusestudentcreateuserscforloginscgrantselectonschema:studenttosc-用户sc拥有对架构student中所有安全对象的select权限revokeselectonschema:studentfromsc-一撤销用户sc对架构student中所有安全对象拥有的select权限alterschemadbotrans

8、ferstudent.x-将student架构中的安全对象x移入dbo架构中alteruserscwithdefault_schema=student-将用户sc的默认架构改为studentalterauthorizationonschema:studenttosc-将student架构的所有者改为sc,sc可以对student架构中的数据进行查询、插入、修改和删除dbo是默认用户也是架构,dbo作为架构是为了更好的与2000兼容,在2000中DataBaseName.dbo.TableName解释为:数据库名.用户名.表名,在2005中DataBaseName.dbo.TableName解释

9、为:数据库名.架构名.表名,这样2000中的代码移植到2005中就不会报错(dbo在2005中是默认的架构,创建表时,如不指定架构,则默认为属于dbo为个架构)。kJ,kJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJ,问题:指定的架构名称dbo不存在,或者您没有使用该名称的权限。原因:缺少权限,需要增加数据角色db_owne

10、r(dbo用户的角色)。方法:安全性-登陆名-选择你的用户名-属性-左边的用户映射-上面选择你要映射的数据库-下马数据库角色成员身份选择db_owner和public。kJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJ,kJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJx

11、kJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJxkJ,新目录视图从SQLServer2005开始,架构是在元数据中反映的显式实体;因此,架构只能有一个所有者,但一个用户可以不拥有架构,也可以拥有多个架构。这种复杂关系并未在SQLServer2000系统表中反映,因此SQLServer2005引入了新的目录视图,以准确反映新的元数据。下表显示了SQLServer2000系统表与其SQLServer2005等效项和更高版本的目录视图之间的映射。SQLServer2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论