SQL SERVER 2008 架构
架构: 一个容器 包含表,视图,数据库对象等等。 相当于命名空间
如何创建一个架构:
1. 图形向导
2.命令
create schema
在sqlserver 2005中,可能大家在工作或学习的时候会经常发现这样一些问题,你使用一个账户在数据库中创建了一张表,却发现你自己创建的表却没有修改和查询的权限,这是一件很郁闷的事情,在sqlserver2000中却不存在这样的问题,那为什么在2005中会出现这样的事情,这样的设置可以带来哪些好处?其实导致这一问题的原因主要在于2005中多了一个新的概念—架构。
首先我们来看一下msdn中对架构的定义:架构(Schema)是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。在这里,我们可以将架构看成一个存放数据库中对象的一个容器。
架构实际上在sqlserver2000中就已经存在,当我们使用查询分析器去查询一个表的时候,一个完整的表的名称应该包括服务器名.数据库名.用户名.对象名,而在sqlserver2005中一个表的完全限定名称应该为服务器名.数据库名.架构名.对象名
在2000中,假如有一个账户tt在test数据库中创建了一张表table1的时候,在服务器上对查询的语句应为select * from test.tt.table1,也就是说,在sqlserver 2000中一张表所属的架构默认就是表的创建者的登录名称,用户可以和修改他所创建的所有数据库对象。但在2005中已经将用户和其创建对象所属架构的关联取消了,而加入了一个全新的架构体系,这样做的优点主要在于下面几个方面:
1. 多个用户可以通过角色(role)或组(Windows groups)成员关系拥有同一个架构。在2005中,每个数据库中的固定数据库角色都有一个属于自己的架构,如果我们创建一个表,给它指定的架构名称为db_ddladmin,那么任何一个属于db_ddladmin中的用户都是可以去查询、修改和删除属于这个架构中的表,但是其它不属于这个组的用户是不行的,有一点必须注意,db_dbdatareader组的成员可以查看所有数据库中的表,db_dbdatawriter组成员可以修改所有数据库中的表,db_owner组成员可以对数据库所有表进行所有操作,这几个组的成员可以通过角色获取到在数据库中的特殊权限。
2. 删除数据库用户变得极为简单。在 SQL Server 2000 中,用户(User)和架构是隐含关联的,即每个用户拥有与其同名的架构。因此要删除一个用户,必须先删除或修改这个用户所拥有的所有数据库对象,就比如一个员工要离职要删除他的账户的时候,还得将他所创建的表和视图等都删除,影响过大。将架构和对象者分离后就不在存在这样的问题,删除用户的时候,对数据库对象是没有任何影响的。
3. 共享缺省架构使得开发人员可以为特定的应用程序创建特定的架构来存放对象,这比仅使用管理员架构(DBO schema)要好。
4. 在架构和架构所包含的对象上设置权限(permissions)比以前的版本拥有更高的可管理性。
5. 区分不同业务处理需要的对象,例如,我们可以把公共的表设置成pub的架构,把销售相关的设置为sales,这样管理和访问起来更容易.
大多数用户在创建对象的时候习惯直接输入对象名而将对象的架构名称省略,在2005中,会给用户创建的这样的表加上一个缺省的架构,用户如果没有对自己的默认架构做设置,那缺省架构就是dbo,也就是说,如果一个db_ddladmin的成员在数据库中创建一个没有加上架构名称的表,这个表在数据库中的完整名称应该是dbo.表名,创建者在数据库中如果不是属于其它特殊组的成员,是不能对自己创建的表进行任何修改和查询的,那就相当于把自己赚的钱存进了别人的银行卡,自己却取不出来。
全文索引:http://yrq205.blog.163.com/blog/static/4767214020112891835368/
SQL SERVER 2008 架构的更多相关文章
- 《BI那点儿事》SQL Server 2008体系架构
Microsoft SQL Server是一个提供了联机事务处理.数据仓库.电子商务应用的数据库和数据分析的平台.体系架构是描述系统组成要素和要素之间关系的方式.Microsoft SQL Serve ...
- SQL Server 2008 标准版不支持Reporting Services的数据驱动订阅
今天开发同事找我,说为什么Reporting Services服务器的报表管理的订阅选项里面只有"新建订阅"选项, 没有"数据驱动订阅"选项,说实话,我也基本上 ...
- 基于SQL Server 2008 Service Broker构建企业级消息系统
注:这篇文章是为InfoQ 中文站而写,文章的地址是:http://www.infoq.com/cn/articles/enterprisemessage-sqlserver-servicebroke ...
- SQL SERVER 2008向ORACLE 11G迁移示例
来源于:http://www.cnblogs.com/hiizsk/ 由SQL SERVER 2008向ORACLE 11G迁移过程记录之一-表 使用Oracle Sql Developer将SQL ...
- SQL Server 2008 删除数据库帐号失败问题
SQL Server 2008 中单独为一个项目建立了一个账号zdhsa,结果发现无法删除. 问题:删除zdhsa失败. 解决:首先从"安全性"-"架构"中删除 ...
- SQL Server 2008 FILESTREAM特性管理文件
在SQL Server 2008中,新的FILESTREAM(文件流)特性和varbinary列配合,你可以在服务器的文件系统上存储真实的数据,但可以在数据库上下文内管理和访问,这个特性让SQL Se ...
- SQL Server 2008 R2导出数据脚本的方法
以前看到有些朋友说必须SQL Server 2008才能导出包含数据的脚本,后来仔细研究发现其实SQL Server 2008 R2也是可以的,只需在导出的时候在高级中设置一下即可. 1.首先在数据库 ...
- 如何将SQL Server 2008库导入2000中
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- SQL Server 2008中新增的 1.变更数据捕获(CDC) 和 2.更改跟踪
概述 1.变更数据捕获(CDC) 每一次的数据操作都会记录下来 2.更改跟踪 只会记录最新一条记录 以上两种的区别: http://blog.csdn.n ...
随机推荐
- visual studio无法输入密匙解决方法
控制面板->程序和功能->修复/卸载(更改),当到输入密匙界面运行程序,即可出现密匙输入框. 所用程序网上搜索:CrackVS2008ForWindows7
- MySql小知识点
1.查看MySql是什么编码 show create table tablename;
- 简单的JQuery top返回顶部
一个最简单的JQuery Top返回的代码,Mark一下: HTML如下: <div id="backtop"> <a href="javascript ...
- python运维开发(十二)----rabbitMQ、pymysql、SQLAlchemy
内容目录: rabbitMQ python操作mysql,pymysql模块 Python ORM框架,SQLAchemy模块 Paramiko 其他with上下文切换 rabbitMQ Rabbit ...
- Sphinx Makefile
# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPT ...
- px,dp,dip,sp,in,mm,pt详细分析
px,dp,dip,sp,in,mm,pt详细分析 px :(pixels),屏幕的像素点,不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多. dip :(devi ...
- Mvc中使用MvcSiteMapProvider实现站点地图之基础篇
MvcSiteMapProvider 是针对 ASP.NET MVC 中,提供菜单. 网站地图. 站点地图路径功能,以及更多的工具.它提供配置使用一个可插入的体系结构,可以是 XML. 数据库或动态生 ...
- MySQLBackup 使用说明
001.mysqlbackup介绍: mysqlbackup是一个热备份工具.也就是说它不像mysqldump那样给表上一个全局锁,由于mysqldump上了这个锁,所以就造成客户端只能对 数据库进行 ...
- C#正则表达式匹配任意字符
原文:C#正则表达式匹配任意字符 不得不说正则很强大,尤其在字符串搜索上 匹配任意字符,包括汉字,换行符: [\s\S]*. 版权声明:本文为博主原创文章,未经博主允许不得转载.
- jquery 事件委托三种事件绑定方式.bind(),.live(),.delegate()
http://www.ituring.com.cn/article/467# http://www.cnblogs.com/lvdabao/archive/2013/08/30/3290603.htm ...