SQL Server 2005 中的架构与用户

本文详细介绍了SQL Server 2005中引入的数据库架构概念及其重要性。阐述了架构作为对象容器的角色,以及如何区分用户与架构的不同特性。此外还对比了SQL Server 2005与2000版本中架构的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!

陈希章

原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/03/24/1420259.html
原文标题:SQL Server 2005 中的架构与用户
原文发表:2009/3/24 2:14:00

从 SQL Server 2005 开始,每个对象都属于一个数据库架构。数据库架构是一个独立于数据库用户的非重复命名空间。您可以将架构视为对象的容器。可以在数据库中创建和更改架构,并且可以授予用户访问架构的权限。任何用户都可以拥有架构,并且架构所有权可以转移。

  首先我们从安全对象来了解架构

  如图1:

  使用图形表示,这样我们更能方便的了解架构,和她在安全对象中所处的位置及与其他安全对象的关系。

  找到一张,如图,数据库引擎 权限层次结构之间的关系图:

  这能帮助我们理解架构。

引用帮助文档对架构的定义:

  从 SQL Server 2005 开始,每个对象都属于一个数据库架构。数据库架构是一个独立于数据库用户的非重复命名空间。您可以将架构视为对象的容器。可以在数据库中创建和更改架构,并且可以授予用户访问架构的权限。任何用户都可以拥有架构,并且架构所有权可以转移。

  在SQL Server 2000中架构和用户是没有多大的区别,我们在2000中一般是指所有者。2005后,用户和架构开始明确的分开,架构可以理解为对象的容器或者命名空间。

对于架构特点的理解小节如下:

  1.一个架构中不能包含相同名称的对象,相同名称的对象可以在不同的架构中存在。

  2.一个架构只能有一个所有者,所有者可以是用户, 数据库角色, 应用程序角色。

  3.一个用数据库角色可以可以拥有一个默认架构,和多个架构。

  4.多个数据库用户可以共享单个默认架构。

  5.由于架构与用户独立,删除用户不会删除架构中的对象。

  6.SQL Server 2000 中对象引用是:

[DatabaseServer].[DatabaseName].[ObjectOwner].[DatabaseObject]
  SQL Server 2005 中对象引用是:
  [DatabaseServer].[DatabaseName].[DatabaseSchema].[DatabaseObject]

作者:陈希章
出处:http://blog.youkuaiyun.com/chen_xizhang
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值