lorer中文一带一路是什么意思思

当前位置:
sqlserver2005概述doc
来源: 联系QQ: 作者: <
发布时间: 12/09/28
&&&&第&&&&1&&&&SQLServer2005概述&&&&章&&&&什么是数据库?数据库实际上是有组织的数据集合.它是一种信息管理系统工具,主要用来采集,管理,分析各种数据,为使用者进行决策提供依据.数据库的概念与我们的生活息息相关,如纸张,存储文件的抽屉等都是数据库的一种形式.与相关的数据库类型大致可以分为:纸张形式数据库,VSAM(VirtualStorageAccessMethod)数据库,Dbase和其他基于文件的数据库,关系数据库和面向对象数据库(Object-orientedDatabase)等多种形式.SQLServer是一个关系数据库管理系统(RelationalDatabaseManagementSystem,RDBMS).关系数据库的发展史可以追溯到1960年,IBM公司的E.F.Codd第一次引入了关系数据库结构和结构化英文语言(StructuredEnglishQueryLanguage,SQL)的基本原理.这个概念实际上相当简单,就是改进并增强当时其他数据库中相当普遍的数据完整性问题,以减少重复数据,从而降低成本.RDBMS是用于存储和检索数据的系统,在该系统中,数据被组织到相互关联的表中.关系数据库在很长时间内没有发生实质性变化,直到20世纪70年代中后期,世界上才出现了真正的关系数据库产品,如Oracle和Sybase.这些系统不仅提供了一种新的管理数据库结构的方法,而且在多平台上运行,可以实现在多系统之间共享数据.20世纪80年代,美国国家标准化组织(AmericanNationalStandardsInstitute,ANSI)制定了SQL语言规范,ANSI-SQL的诞生,预示着RDBMS计算领域的关键时刻的到来.ANSI规范定义了各种系统之间的兼容性.这意味着不同厂家的产品将具有更好的兼容性,也意味着相互竞争的系统可以在一个RDBMS中嵌入多种专业技术.这对增加SQL领域的开发者数量产生了很大的推进作用.本章将简要介绍SQLServer2005的基础知识,如新特性,版本差异,安装等,并介绍数据库与现实生活的联系及开发流程,讨论系统结构方面的一些,还将介绍如何正确安装SQLServer2005的方法,最后就SQLServer2005的组成进行详细讨论,从而使读者能在自己的或服务器上熟练进行安装,并了解SQLServer2005的概貌,为后续开发打下基础,为本书的其他章节做好准备.这些内容将对数据库设计产生重大影响.本书侧重于帮助读者利用SQLServer2005成功地开发应用,使不了解数据库的人都能利用SQLServer2005创建自己的数据库并进行开发,并熟练掌握数据库的管理知识.另外,为了使本书能为备战微软认证考试的人所用,本书还会简要介绍一些相关内容.&&&&1.1&&&&SQLServer2005版本简介&&&&目前,SQLServer2005有6个版本,分别为:EnterpriseEdition(32位和64位,缩写为EE),&&&&SQLServer2005中文版数据库管理与开发从入门到精通&&&&StandardEdition(32位和64位,缩写为SE),WorkgroupEdition(只适用于32位,缩写为WG),DeveloperEdition(32位和64位,缩写为DE),ExpressEdition(只适用于32位,缩写为SSE),MobileEdition(以前的WindowsCEEdition2.0,缩写为CE或ME).根据实际应用的需要,如性能,价格和运行时间等,可以选择安装不同版本的SQLServer2005.大部分用户喜欢选择安装EE版,SE版或WG版,因为这几个版本可以应用于产品服务器环境.我们将简要说明各版本的差异,并建议大家针对具体环境选择使用对应的版本.还有一个企业评估版,可以从微软网站,但试用期只有180天.&&&&2&&&&1.1.1版本说明&&&&1.EnterpriseEdition(32位和64位)&&&&企业版SQLServer2005支持多达几十个CPU的多进程处理,而且支持聚类(两个独立服务器之间提供自动接管功能并分担工作量),允许HTTP访问联机分析处理(OLAP)多维集.企业版支持超大型企业进行联机事务处理(OLTP),高度复杂的数据分析,数据仓库系统和网站所需的性能水平.企业版的全面商业智能和分析能力及其高可用性功能(如故障转移群集),使它可以处理大多数关键业务的企业工作负荷.企业版是最全面的SQLServer版本,是超大型企业的理想选择,能够满足最复杂的要求.可以根据企业版特性,价值和许可(企业版每个处理器许可权的价钱是标准版的4倍)等因素而自由决定是否需要采用企业版软件,但是,如果需要支持聚类,则一定要使用企业版.企业版的特征包括:聚类分布式分区视图索引视图分区多维集支持超过4GB的RAM日志传输(一种自动接管策略)支持多于4个CPU另外,还有一些特性只有企业版具有,在此不一一描述.&&&&2.StandardEdition版(32位和64位)&&&&SE版是SQLServer的主流版本,大多数SQLServer用户都会选择安装这一版本.它支持多进程处理,还可支持多个CPU和2GB以上的RAM.为了安装SE版实例,客户需要为每个Standard版实例购买独立许可证.SE版是中,小企业或组织管理数据并进行分析的平台.它包含了电子商务,数据仓库等技术需要的重要功能.SE版的综合业务性能和高可靠特性深受广大使用者青睐,是中,小企业进行完整数据管理和分析的理想选择.&&&&3.WorkgroupEdition版(只适用于32位)&&&&SQLServer2005概述&&&&第&&&&1&&&&章&&&&WG版是中,小组织数据管理的理想解决方案,这种方案可以满足对数据库大小或用户数量无特定限制的需要.WG版既可以充当前端Web服务器,也可以满足部门和分支机构运营的需要.它具有SQLServer产品的核心数据库特点,容易升级为标准版和企业版.WG版是一种理想的入门级数据库,不仅使用可靠,而且耐用,易于管理.&&&&4.DeveloperEdition(32位和64位)&&&&系统默认安装为DE版,而企业版和标准版则应视为应用服务器的解决方案.利用DE版软件,可以开发和测试应用.由于该版本具有企业版的所有特性,因此可以将在开发版上成功开发的解决方案顺利移植到产品环境下而不会产生任何问题.DE版是进行软件开发的一种理想解决方案,DE版可以根据生产需要升级至EE版.这个版本与企业版之间的唯一差别是:开发版只能用作开发环境.&&&&3&&&&5.ExpressEdition版&&&&SSE版是一种免费,易用而且管理简单的数据库系统.它集成在MicrosoftVisualStudio2005之中,利用它可以轻松地开发出兼容性好,功能丰富,存储安全,可快速部署的数据驱动应用程序.不仅可以免费使用SSE版软件,而且可以再分发,就像一个基本的服务器端数据库一样.SSE版是低端独立软件开发商,低端服务器用户,建立Web应用程序的非专业开发者和开发客户端应用的业余爱好者的理想选择.&&&&6.WindowsCE(或ME)版&&&&这个版本将用于WindowsCE设备,其功能完全限制在给定范围内,显然这些设备的容量极其有限.目前,使用WindowsCE和SQLServer的应用程序非常少,实际上只可能在更昂贵的CE产品上拥有更有用的应用.CE版是一种专为开发基于MicrosoftWindowsMobile的设备的开发人员而提供的移动数据库平台.其特有的功能包括强大的数据存储功能,优化的处理器,以及可靠,可扩展的连接功能.&&&&1.1.2硬件和OS要求&&&&需要特别注意的是,在32位平台上运行SQLServer2005与在64位平台上运行SQLServer2005所需要的软,硬件要求有所不同.以下是对安装SQLServer2005(32位和64位平台)所需满足的最低软,硬件要求:VGA显示器,并至少需要工作在像素模式下.鼠标或兼容的指点设备.CD或DVD驱动器.PII500MHz以上的服务器.群集硬件要求在32位和64位平台上,支持安装8节点群集安装(这是WindowsServer2003所支持的最大节点数).网络软件要求32位版本与64位版本在软件的要求上相同,Windows2003,WindowsXP和Windows2000都具有内置网络软件.但是要注意的是:SQLServer2005已不再支持&&&&SQLServer2005中文版数据库管理与开发从入门到精通&&&&BanyanVINES顺序包(SPP),Multiprotocol,AppleTalk和NWLinkIPX/SPX等网络协议.以前利用这些协议进行连接的客户端,现在需要采用其他协议来实现.单机运行和默认实例支持以下网络协议:Sharedmemory故障群集转移不支持该协议)Namedpipes,(,TCP/IP,VIA.有关IE浏览器,32位版本和64位版本的要求相同.表1.1是对IE浏览器的要求.软件要求MicrosoftWindows.NETFramework2.0,MicrosoftSQLServerNativeClient,MicrosoftSQLServerSetupsupportfiles.SQLServer2005不安装.NETFramework2.0软件开发包(SDK)SDK包含文档,.C++编译器和其他工具,这些工具在使用.NETFramework进行SQLServer开发时十分有用.可以从网页go.microsoft/fwlink/?LinkID=32166.NETFrameworkSDK.&&&&表1.1组件Internet软件1要求微软管理控制台(MicrosoftManagementConsole,MMC)HTML帮助文件都需要安装IE6.0,和并安装SP1补丁(或更高级的浏览器),只需要对IE浏览器进行最小安装就可以,而且不需要将IE浏览器设置为默认浏览器.但是,如果只安装客户端组件,且不用连接到需要加密的服务器上,则安装IE4.01和SP2的补丁就足够了**安装2005报表需要IIS5.0或者更高版本报表服务需要安装ASP.NET2.0.在安装报表服务的时候,如果ASP.NET尚未启用,则SQLServer2005会将其修改为启用状态SQLServer2005对IE浏览器的要求&&&&4&&&&IIS服务ASP.NET2.02&&&&至少需要150~746MB的硬盘剩余空间如果想安装数据库引擎,数据文件,复制和全文检索,则需要150MB的空间.如果还希望安装分析服务管理器,则再需要35~130MB的空间;如果需要报表服务和报表管理器,则另外要加至少40MB的空间;如果需要安装通知服务组件,客户端组件和规则组件,则需要至少5MB的空间;如果需要安装示例和示例数据库,则需要另外再加390MB的空间.实际上,需要采用比推荐的配置更好的机器.即使是在独立开发服务器上,也建议至少采用512MB的RAM和P-Ⅲ800或者更好的处理器,并安装WindowsServer2003以上的操作系统,对于在用系统,至少要配备1GB的RAM,最好是1~4GB.如果还想了解更多的有关安装要求方面的信息,可查阅联机丛书.&&&&1.1.32005版本新特性&&&&在介绍SQLServer2005版本的新特性之前,有必要介绍SQLServer的发展过程.微软SQLServer(在本书中简称为SQLServer)最初起源于Sybase的SQLServer(简称Sybase).1989年,微软与Sybase联合开发了一个用于OS/2版的SQLServer.1993年,他们将4.2版的SQLServer&&&&1SQLServerManagementStudio,BusinessIntelligenceDevelopmentStudio和ReportingServices的报表设计器组件需要MicrosoftInternetExplorer6.0SP1或更高版本.2如果在64位服务器上安装ReportingServices64位)则必须安装64位版本的ASP.NET.(,如果在64位服务器的32位子系统(WOW64)上安装ReportingServices(32位),则必须安装32位版本的ASP.NET.ReportingServices不支持同时在64位平台上和64位服务器的32位子系统(WOW64)上进行并行配置.&&&&SQLServer2005概述&&&&第&&&&1&&&&章&&&&移植到WindowsNT上.6.0版推出后,这种合作关系解除了.6.5及以后版本的SQLServer已经成为微软的专有产品,并首次包含了"复制"的内容,微软通常将这一版本称为SQLServer变革历程中的第一代产品.在7.0版中,微软对该产品进行了彻底重写,并取得了高度成功,从而使该产品成为第一个可以用于Windows9x的产品(目前,SQLServer中几乎没有保留Sybase的原有代码),而且重新架构了关系型服务器,实现了广泛的自动资源管理.在2000版中,微软修补了7.0版存在的漏洞,并增加了许多新的功能,改进了系统性能并提高了系统可伸缩性,支持XML语言编程功能等,并支持联机分析处理(OLAP),数据压缩,转换和加载(Extract/Transformation/Load,ETL),这是SQLServer变革历程中的第二代产品.针对以上几个版本的缺陷与不足,微软历时多年,最终于2005年11月推出了SQLServer变革历程中的第三代产品,这就是今天的SQLServer2005.在这一代产品中,微软在开发时特别注重其高可用性,安全性,并致力于提高开发人员的效率.从外观界面看,2005版与4.2版(现在能在某处偶尔找到的最老版本)已面目全非,而且它们在实现和性能支持上存在本质区别.版增加了如游标支持的细节,版增加了分布式事务,6.06.5复制和ANSI兼容性.重写后的7.0版使如数据存储定义的设备方面的问题消失了.2000版支持XML语言.而2005版内含的XML功能则深受广大开发者的欢迎,其服务分割功能深受使用者的喜爱,这一版本的企业级ETL和深度数据挖掘则为数据共享和重复利用提供了可靠途径.SQLServer2005在企业数据管理聚焦于自管理与优化功能,针对企业应用具有高可用行,而且在安全和性能特性上进行了更多的考虑.SQLServer2005的开发产品具有内含的XML技术,与VisualStudio及.NET集成在一起,具有与WebService的互操作性,在业务综合性能上,具有整合与转换数据的功能,可以分析,存储及挖掘数据,在报告与数据的交互功能上具有独到的特点.SQLServer2005基于SQLServer2000,在可用性,易用性,可靠性,编程能力和性能等方面都有所扩展,另外,SQLServer2005的许多新特性使其在大型联机事务处理(onlinetransactionalprocessing,OLTP),数据仓库和电子商务等应用方面成为一种最优秀的数据库平台.总的说来,其特性改进主要表现在以下几个方面:通知服务加强NotificationServices是一种新平台,用于生成发送并接收通知的高伸缩性应用程序.NotificationServices可以把即时的,个性化的消息发送给使用各种各样设备的数以千计乃至以百万计的订阅方(第12章介绍).报表服务功能加强ReportingServices是一种基于服务器的新型报表平台,它支持报表创作,分发,管理和最终用户访问(第12章介绍).崭新的服务分割器ServiceBroker是一种新技术,用于生成安全,可靠和可伸缩的数据库密集型的应用程序.ServiceBroker提供应用程序用以传递请求和响应的消息队列(第12章介绍).数据库引擎功能加强数据库引擎引入了新的可编程性增强功能(如与Microsoft.NETFramework的集成和Transact-SQL的增强功能),新XML功能和新数据类型.它还包括对数据库的可伸缩性和可用性的改进(本书的许多章节都会介绍数据库引擎).数据访问接口加强SQLServer2005提供了Microsoft数据访问(MDAC)和.NETFrameworksSQL客户端提供程序方面的改进,为数据库应用的开发人员提供了更好的易用性,更强的控制和更高的工作效率(第2章介绍).分析服务功能加强AnalysisServices引入了新管理工具,集成开发环境以及与.NET&&&&5&&&&SQLServer2005中文版数据库管理与开发从入门到精通&&&&Framework的集成.许多新功能扩展了AnalysisServices的数据挖掘和分析功能(第12章介绍).综合服务功能加强IntegrationServices引入了新的可扩展体系结构和新设计器,这种设计器将作业流从数据流中分离出来并且提供了一套丰富的控制流语义.IntegrationServices还对包的管理和部署进行了改进,同时提供了多项新打包的任务和转换(第9章介绍).复制功能加强在可管理性,可靠性,可编程性,可移动性,可升级性和功能上进行了加强(第7章介绍).工具和效用加强集成了一组管理,开发工具,从而为大规模的SQLServer系统提供了易用,可管理和可操作等功能的支持(第2章介绍).特别是,SQLServer2005的数据库引擎与SQLServer2000的功能相比,得到了很大的改进,并增加了不少新功能,以提高程序员的开发能力和工作效率.这些改进的功能主要表现在:可编程性功能增强可管理性功能增强分布式查询功能增强可用性功能增强XML功能增强可伸缩性和性能增强国际接轨功能增强数据接口方面的功能增强在可编程方面,数据库对象可用.NET语言编写,如MicrosoftVisualC#.在MicrosoftVisualStudio环境中已集成了开发和调试功能,这使得开发人员能够使用开发.NET组件和服务时所用的工具来开发数据库对象.T-SQL语言也得到了扩展,例如,改进了错误处理功能,支持递归.此外,还对应用程序用来访问数据库引擎实例的数据访问接口进行了增强,以提高员的工作效率.&&&&6&&&&1.可编程性功能增强&&&&(1)集成了公共语言运行时.NETFrameworkCommonLanguageRuntime(公共语言运行时,CLR)现在寄宿于数据库引擎中.CLR集成环境支持过程数据库对象,此包括用.NET语言(如VisualC#和VisualBasic.NET)编写的函数,存储过程和触发器..NET语言支持T-SQL语言中所没有的逻辑和功能,这意味着现在可以将更复杂的逻辑合并到数据库对象中.用户定义的类型和聚合也可以用.NET语言编写,以生成比SQLServer早期版本中的数据类型更为复杂的数据类型.CLR集成编程环境已集成到VisualStudio开发环境中.开发人员使用与开发客户端或中间层.NET组件和服务相同的工具来开发和调试数据库对象.(2)集成了用户定义聚合用.NET语言编写的用户定义聚合函数扩展了基本聚合函数,如T-SQL中包括的SUM,MIN和MAX.聚合函数是处理多个数据值并返回单个值的函数..NET聚合函数不是将整个结果集检索到应用程序中,然后对结果集执行复杂的聚合逻辑运算,而是在数据库引擎的实例中执行聚合逻辑运算,且仅将运算结果返回到应用,从而提高了运算速度.&&&&SQLServer2005概述&&&&第&&&&1&&&&章&&&&(3)集成了用户定义类型CLR用户定义类型(User-DefinedTypes,UDT)使用户可以用.NETCLR所支持的任何语言实现数据库数据类型.CLR用户定义类型在.NET语言中以类的方式实现,并可具有用该类的字段,方法和属性定义的复杂结构和行为.CLR用户定义类型与数据库引擎类型系统集成,并且可以在所有使用内置类型的上下文中使用.(4)集成了存储过程,触发器和用户定义函数数据库过程对象可用.NET语言编写,以合并比T-SQL语言支持的更为复杂的逻辑.程序员使用与开发.NET组件和服务相同的语言和开发环境来开发对象.(5)集成了Web访问本机HTTPSOAP访问可以对数据库引擎的实例配置HTTP端点和地址,以便应用可以将SOAP请求发送到该端点或地址.数据库引擎的实例直接接收包,而无需配置任何中间层服务,如MicrosoftInternet信息服务(IIS)服务器.&&&&7&&&&2.可管理性功能增强&&&&通过包括使所有权限都可授予以及用户与架构分离在内的功能增强了安全性.通过动态实例配置(包括AddressWindowingExtensions[AWE]内存动态管理以及I/O与CPU动态关联)简化了数据库引擎的可管理性.(1)安全性在安全性方面,增强的功能主要表现为所有权限都可授予,用户和架构分离两个方面.使所有权限都可用GRANT语句来授予,从而统一了安全管理.在SQLServer的早期版本中是用实例级权限,数据库角色和普通权限的混合方式管理权限的.新的安全功能可以实现权限按层次结构管理.在SQLServer数据库中增强了架构的角色.现在,数据库中的所有对象都定位在架构中,不归各个用户所有.每个架构可归角色所有,允许多个用户管理数据库对象.在SQLServer的早期版本中,必须重新分配用户所拥有的每个对象的所有权,否则就无法从数据库中删除用户.现在,只需针对架构调整所有权,不针对每个对象.(2)管理新的数据库引擎,可以管理表和索引分区,实现动态AddressWindowingExtensions(AWE)内存管理,ATTACH_REBUILD_LOG,即时文件初始化,禁用索引,重新组织和重新生成索引,大容量复制和加载XML格式化文件和管理OPENROWSET大容量行集提供.可以根据值的范围将表和索引划分为多个分区.分区允许将管理任务集中于单个分区而非整个集合,从而使大型表和索引更易于管理.可以在数据库架构内更有效地传输数据块,在保持整个单元完整性的同时可以对单独分区而非整个表或索引执行维护操作.现在,在使用AWE内存支持大型数据库时,数据库引擎动态地管理其内存池的大小.SQL在Server的早期版本中,使用AWE内存时内存池是静态的.用ATTACH_REBUILD_LOG子句,无需所有日志文件即可附加数据库.例如,当把数据库从生产服务器分离以便在报表服务器上用作只读数据库时,只读环境将不需要运行过程中使用的所有日志文件.ATTACH_REBUILD_LOG允许将数据库复制到报表服务器,而无须复制所有的生产日志文件.&&&&SQLServer2005中文版数据库管理与开发从入门到精通&&&&数据库引擎在创建新数据库时,可以仅保留数据文件所需的空间并使数据库立即可用.直到SQL引用实际数据页时,才用二进制零初始化这些页.在SQLServer的早期版本中,直到所有数据库都用二进制零初始化后才可使用数据库.可以禁用索引以协助管理和诊断.当重新生成非聚集索引时,在重新生成索引之前禁用索引可大幅度减少所需的磁盘空间.引入了ALTERINDEX语句,可用来重新组织或重新生成索引或者设置索引选项.可以在线重新生成索引,可以压缩包含LOB数据的页,并且可以在单个分区基础上重新组织或重新生成已分区索引.引入了XML架构,可用于将格式化文件指定为XML文档.作为使用原始非XML格式化文件的替代,XML格式化文件具有很多优点.引入了大容量行集提供程序,可以用SELECT语句中OPENROWSET函数的BULK选项访问该提供程序,然后将其送入INSERT语句.&&&&8&&&&3.分布式功能增强&&&&添加了新增的SQL跟踪事件,这些事件有助于分析和排除OLEDB访问接口与SQLServer分布式查询集成的故障.这些事件提供有关SQLServer针对OLEDB访问接口所进行的每个调用的信息.传递查询中可以使用公共语言运行时(CLR)用户定义类型的列或来自SQLServer远程实例的XML数据类型的列.为了支持分布式查询功能,SQLServer2005增强了EXECUTE语句的功能,以便它可以用于向链接服务器发送传递命令.在针对服务器联合使用CONTAINS谓词和SELECT查询时,可以将SQLServer全文功能应用到远程服务器的文本数据上.可以在分布式中支持增强的varchar()数据类型.&&&&4.可用性功能增强&&&&有关可用性功能增强,主要表现在:故障转移群集,多实例支持,专用管理员连接,动态AWE内存管理,热添加内存,数据库快照,校验和I/O验证和读取重试,镜像备份媒体,备份和还原媒体检查,崩溃恢复过程中的快速恢复,备份和还原错误报告,在线还原,EMERGENCY选项,联机索引操作和并行索引操作等方面,这些内容将在本书的多个章节中进行详细讨论.&&&&5.XML功能增强&&&&MicrosoftSQLServer2005数据库引擎现在支持XML数据类型,用于将XML文档存储在表列或T-SQL变量中.它还支持XQuery语言,包括XML数据操作语言(XMLDML).这一功能将在第6章讨论集成的.NET技术时进行详细讨论.&&&&6.可伸缩性和性能增强&&&&当不可能或不希望直接更改查询文本时,便可使用新的系统存储过程sp_create_plan_guide,通过对查询附加提示来优化查询性能.当由第三方供应商部署的数据库应用程序中有小型查询子集未按预期执行时,计划指南会很有用.这一内容在讨论SQLServer的Profiler时会进行介绍,以了解如何优化.快照隔离级别实现行版本控制,用来为用户提供在当前事务启动时数据库中数据存在状态的&&&&SQLServer2005概述&&&&第&&&&1&&&&章&&&&视图.除了在恢复过程中之外,快照事务不获取锁来保护读操作.快照隔离能尽量减少只读应用程序中的锁定和阻塞问题.可以启用新的数据库SET选项DATE_CORRELATION_OPTIMIZATION来改善查询性能,该查询性能联接了两个时间日期列相关的表并且在查询谓词中指定了数据限制.通过将新的PARAMETERIZATION数据库的SET选项设置为FORCED,可以指定在数据库上执行的所有查询要参数化.强制参数化通过降低重新编译查询的频率可能会改善某些数据库的性能.可以启用新的数据库SET选项AUTO_UPDATE_STATISTICS_ASYNC来提高查询响应时间的可预测性.启用该选项后,后台工作线程便将过期的统计信息排队,而启动统计信息更新的查询会立即编译而不是等待要更新的统计信息.可以将计算列标记为PERSISTED,在这种情况下,计算列的值将存储在表的数据页中.这样可以加快计算密集型列的检索.SQLServer2005引入了多个语句在单一连接上同时返回结果集的功能.在SQLServer的早期版本中,对于每个连接每次只能有一个语句正在返回结果集,直到所有结果集都检索完才能执行新语句,这就是多活动结果集(MARS).可以将不属于索引键的列包含在非聚集索引中.包含非键列可以加快查询,使其不必访问数据行就能从索引中获取全部所需数据,并且可以突破对当前索引大小的最多16个键列和最大索引键大小900个字节的限制.可以使用CREATEINDEX和ALTERINDEX中新的ALLOW_ROW_LOCKS和ALLOW_PAGE_LOCKS选项来控制对索引锁定的级别.使用XML数据类型存储的XML文档和片段可能非常大.如果没有为它们建立索引,数据库引擎必须为每个引用拆分文档和片段.对使用XML数据类型的列定义索引,可使数据库引擎更有效地处理文档和片段.与以前各版本相比,SQLServer2005查询优化器可将更多查询与索引视图相匹配,包括包含标量表达式,标量聚合函数与用户定义函数,间隔表达式以及等价条件的查询.现在,索引视图定义也可以包含带有一定限制的标量聚合函数和用户定义函数.新添加了4个查询提示,用于生成最佳查询计划.在执行为查询生成的计划之后,RECOMPILE强制SQLServer放弃该计划,以便在下次执行同样或类似计划时生成新计划.对于变量值每次编译和执行时都广泛变化的查询,RECOMPILE很有用.当只需要重新编译存储过程中的一个查询子集时,可使用此提示替代WITHRECOMPILE选项来创建存储过程.OPTIMIZEFOR指示SQLServer为某个本地变量使用一个特定值,若不这样指定,则当编译和优化查询时此变量的值将为未知.USEPLAN指示SQLServer对查询使用现有的查询计划.对于计划致使执行缓慢的查询,若已知有更好的计划,则可使用USEPLAN查询提示.PARAMETERIZATION指定是否将优化查询作为编译查询计划的一部分,并且在计划指南内部用该覆盖PARAMETERIZATION数据库SET选项的当前设置.当删除或重新生成使用超过128个区的表和索引时,SQLServer2005将实际的页释放及其关联的锁迟延到提交事务之后.将过程拆分为逻辑阶段和物理阶段可避免这些锁.&&&&9&&&&7.国际接轨功能增强&&&&在国际接轨方面,提供了新的排序规则和排序规则版本,这些规则使用MicrosoftWindows&&&&SQLServer2005中文版数据库管理与开发从入门到精通&&&&2003排序表.另外还更新了多个亚洲排序规则,其中有支持补充字符比较的新版本,而且提供了对多种语言的支持.&&&&1.2&&&&10&&&&数据库系统开发模型&&&&近几年产生了一些数据库系统模型,通常可以将这些模型分为三组服务(Services).用户服务(UserServices)通常包括描绘用户接口(UserInterface,或称为UI)和基本格式及字段规则等方面的内容.用户服务需要处理的一个实例是日期格式,包括使用户知道给定字段是日期字段,而且在输入数字到该字段时必须预先校验并确定该数字为日期型.用户服务是一种表达式,在每个字段中至少有一种预定的数据类型.业务服务(BusinessServices)这部分就是众所周知的业务规则.在3-层结构或n-层结构中,业务服务对象可以驻留在自身服务器上,也可以分为多个服务器,或者以最小安装的方式与数据服务(DataServices)共享服务器.数据服务(DataServices)该服务完全用于数据存储和提取.数据服务通常以数据完整性规则著称(如,出库数量不能为负数).这就是SQLServer的优势.以上对集中模型的区分,主要是从开发者和使用者关注的角度,下面就来介绍这些传统的结构.&&&&1.2.1单层结构(主机系统)&&&&这种系统实质上没有桌面逻辑,而只有一个无声的终端,它是早期的主机和小型机模型.所有通过电缆发送到终端的内容就是显示器所显示的信息(当然包括显示的数据).&&&&1.2.22-层结构(客户/服务器结构)&&&&2-层结构,或者叫客户/服务器系统,于20世纪90年代早期开始流行.实际上这种结构有两种类型:客户中心和服务器中心两种模式.&&&&1.客户中心模式&&&&基于PC便宜的事实(这是大多数人使用客户/服务器开发的原因所在)和在分配计算任务时尽可能得到最大效率的观念,应用客户/服务器的客户中心形式.因此,在这种模式下通常只有数据业务部分在服务器上处理,正常事务和UI端的事务都在客户端执行,从而确保各个公平分担所有任务(这至少是客户中心模式的思想).客户中心模式原理图如图1.1所示.以客户端为中心的客户/服务器结构的最大问题是带宽(目前仍然存在).如果所有业务逻辑都发&&&&图1.1客户中心模式原理图&&&&SQLServer2005概述&&&&第&&&&1&&&&章&&&&生在客户端,则客户端与服务器端将存在大量交互(网络发送和接收).大块大块的数据经常由客户端发送,最终导致网络阻塞,降低个人读取和写入的速度.&&&&2.服务器中心模式&&&&这是从PC的计算成本比主机系统的计算成本要便宜的事实出发,希望尽量充分利用中心化系统优点的一种模式.客户端只分配用户业务.正常业务和数据业务放在服务器中.所占网络带宽小,服务器中心模式原理图如图1.2所示.&&&&11&&&&1.2.33-层结构&&&&这种模型结构与后面的(n-层)结构关系很接近,是当今非常超前的结构.如果听别人谈论无论怎样都需要一种结构模型来完成,那他们大多是在说3-层或n-层结构.这种模型结构如图1.3所示.&&&&图1.2&&&&服务器中心模式原理图&&&&图1.3&&&&3-层结构的原理图&&&&这种模型通过把3个服务层分成完全独立逻辑模型的方法来实现.客户端只负责用户接口问题,就像在服务器中心模式下的客户/服务器结构一样,差别仅在于从逻辑上把业务服务和数据服务分开.另外,这种方法将逻辑模型移到一个远离物理逻辑的独立区域,这意味着能在同一台服务器上运行业务服务和数据服务.实际上没有必要这样做,把工作量分配到两个服务器上可以明显提高系统的稳定性和可升级性.另外,因为修改工作只影响小块代码(而不是大量编译,只要对影响到的组件进行重新编译即可),所以这种模型具有更大的可扩展性.所有组成部分都是基于组件的,因此,在某种情况下可以将组件分配到多个服务器上.如果使用微软事务服务器(MicrosoftTransactionServer,MTS),或者使用由Windows2003产生的COM+,那么,为了相互平衡的需要,可以在多个服务器之间为相同组件保留复制文件.&&&&1.2.4n-层结构&&&&n-层结构与3-层结构很相似,从理论上说,它是现存的最好的结构.直率地说,笔者更喜欢这种结构,但不要把它当成万能的方法.这种模型在逻辑上与3-层结构的实现非常相似,只是将组件分成合理的小逻辑工作单元.如果数据服务层被正确实现,那么数据库就可以在多个服务器&&&&SQLServer2005中文版数据库管理与开发从入门到精通&&&&之间扩展并根据需要进行移动,但会影响数据服务组件(该组件用来访问被移走的数据).在移动过程中,业务服务组件容易被遗忘,因为系统只需知道提供数据和调用哪种专业方法的数据服务组件名即可.具体结构如图1.4所示.改变用户接口(UI)执行的过程也很容易,只要重新开发UI就可以了.不管使用哪种UI(也就是说,不管是Web还是真实客户端),仍然可以调用相同业务逻辑组件.这种系统的升级工作可以在服务器端执行,但带来的问题是层数越多,需要排队的数据和请求就越多.&&&&12&&&&1.3&&&&数据存取模型&&&&图1.4&&&&n-层结构原理图&&&&当然,当今要处理的大问题之一是在微软纷繁复杂的数据存取结构的各种选项中怎样访问数据库.SQLServer的版本和编程语言的版本决定了在哪种环境下采用哪种模型更可靠.下面是目前微软根据访问SQLServer的方式不同提供的4种存取模型.ActiveX数据对象(ActiveXDataObjects)又叫ADO,是一种新远程数据对象(RDO).ADO是自身对象.ADO的每一个新版本似乎都提高了性能并添加了新特性.不像RDO是基于ODBC接口的,ADO建立在OLEDB接口的基础上,从而提供了ODBC不能提供的灵活性.开放式数据库连接(OpenDatabaseConnectivity,ODBC)如果具有一定的数据库开发经历,就肯定听说过ODBC.ODBC是微软推出的标准,但更明确地说仅是一个标准,而且是一个非常好的标准.ODBC提供了一种通过交叉平台访问数据库信息的方法.ODBC的连接速度相当快.无论后台需要什么样的语法,ODBC都允许使用大多数标准SQL语句,但其主要缺点是完全面向表格式数据(列和行),而且不处理非标准数据(如目录结构,多表单数据库等).OLEDBOLEDB试图以开放式标准与表格式和非表格式数据通信.在这一点上,它是ODBC的主要竞争对手.OLEDB使用"提供商"(Provider),除了具有相关的自身描述特性以外,提供商与ODBC驱动非常相象.说得更精确些,就是它能够告诉应用程序使用它所支持的哪种功能.前面提到过,OLEDB是ADO的基础.如果OLEDB不和ADO一同使用,其速度确实很快,通常会看见C++程序员使用OLEDB.与使用ADO相比,在编程过程中使用OLEDB是一件痛苦的事情.如果不是一个C++程序员,那么就会坚持使用ADO.Java数据库连接(JavaDatabaseConnectivity,JDBC)它可以处理很多事情,而且使用起来非常简单,但是功能很小,速度很慢.总之,除非有不可避免的原因,否则不要使用JDBC.除了以上这些对象模型以外,偶然会遇到的对象模型有以下几种.&&&&SQLServer2005概述&&&&第&&&&1&&&&章&&&&远程数据对象(RemoteDataObjects,RDO)这是最近几年的速度先驱.DB-Lib在SQLServer7.0中,这是SQLServer处理所有主机同客户和应用程序交互的方法(目前SQLServer使用OLEDB来充当这一角色).现在,新版本中仍然支持该模型,但这只是为了加强SQLServer的兼容性而开展的.VB-SQL这是唯一简单可用的对象模型,它是基于VB编写的一个旧封装,该封装使许多DB-Lib函数能为VB程序员所用,但其速度慢,而且系统崩溃后得不到技术支持.数据访问对象(DataAccessObjects,DAO)这实际上是微软Access(更专业地说,Jet数据库是Access数据库的核心)的对象模型.VB和Access数据库中有许多程序是用这种技术编写的.在使用Jet(Access)数据库时,这仍然是一种最快的访问方法,但是,如果要使用这种技术访问SQLServer,建议尽可能进行彻底移植,不要采用这种技术.微软希望用户停止使用DAO.&&&&13&&&&1.4&&&&安装&&&&用户往往会在安装SQLServer2005时遇到这样或那样的问题,下面就以在WindowsServer2003上安装企业版SQLServer2005为例,介绍SQLServer2005的安装步骤.(1)安装前的准备工作.在安装之前,首先要按照1.1.2节所描述的内容检查系统硬件和软件是否满足要求.(2)开始安装时,将SQLServer2005DVD光盘插入DVD驱动器.如果DVD驱动器的自动运行功能无法启动安装程序,可导航到DVD的根目录,然后启动splash.hta.如果通过网络共享进行安装,可导航到网络文件夹,然后启动splash.hta.(3)单击"Install"下的"Server".(4)在"最终用户许可协议"页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件.接受许可协议后即可激活"Next"按钮.若要继续,则单击"Next"按钮.若要结束安装程序,可单击"Cancel"按钮.这里单击"Next"按钮.(5)在"SQLServer2005Setup"页上,安装程序将安装SQLServer2005的必需软件.有关组件要求的详细信息,可单击该页底部的"Help"按钮.若要开始执行组件更新,则单击"Install"按钮.更新完成之后若要继续,则单击"Next"按钮.(6)在SQLServer安装向导的"欢迎"页上,单击"Next"按钮以继续安装.(7)在"系统配置检查"(SystemConfigurationCheck)页上,系统将扫描安装,看看是否存在可能阻止安装程序运行的情况.若要中断扫描,则单击"Stop"按钮.若要显示按结果进行分组的检查项列表,则单击"Filter"按钮,然后从下拉列表中选择类别.若要查看SCC结果的报表,则单击"Report"按钮,然后从下拉列表中选择选项.选项包括查看报表,将报表保存到文件,将报表复制到剪贴板和以电子邮件形式发送报表.(8)完成SCC扫描之后,若要继续执行安装程序,则单击"继续"按钮.在"信息"页上的""和"公司"文本框中,输入相应的信息.若要继续,则单击"Next"按钮.(9)"要安装的组件"在页上,选择要安装的组件.选择各个组件组时,"Compotentstoinstall"&&&&SQLServer2005中文版数据库管理与开发从入门到精通&&&&窗格中会显示相应的说明.可以选中任意一些复选框.当选择SQLServer或AnalysisServices时,如果安装程序检测到正将组件安装到虚拟服务器,则将启用"作为虚拟服务器进行安装"复选框.必须选择此选项才可以安装故障转移群集.若要安装单个组件,则单击"Advanced"按钮,这样就可以选择安装具体组件了.否则,单击"下一步"继续.(10)如果在上一页中单击了"高级",此时将显示"功能选择"页.在"功能选择"页上,使用下拉框选择要安装的程序功能.若要将组件安装到自定义的目录下,可选择相应的功能,再单击"浏览"按钮.有关此页功能的详细信息,可单击"帮助"按钮.若要在完成功能选择后继续安装,则单击"下一步"按钮.(11)在"InstanceName"页上,为安装的软件选择默认实例或已命名的实例.如果已经安装了默认实例或已命名实例,并且为安装的软件选择了现有实例,安装程序将升级所选的实例并提供安装其他组件的选项.上必须没有默认实例,才可以安装新的默认实例.若要安装新的命名实例,可单击"命名实例",然后在提供的空白处输入一个唯一的实例名.若要按查看已经安装的实例,可以单击"InstalledInstances"按钮,有关实例命名规则的详细信息,可单击该页底部的"Help",或查看SQLServer2005联机丛书中的实例名称主题.然后单击"Next"按钮,如果在机器上已经安装了SQLServer2005的相关组件,则系统进入"ExistingComponents"界面,单击"Next"按钮继续安装,然后系统会进入"ErrorandUsageReportSettings"界面,继续向下安装,出现"ReadytoInstall"界面,表明系统要开始安装哪些组件,单击"Install"按钮,显示系统安装进度.如果以前在服务器上没有安装SQLServer2005的相关组件,则系统进入"ServiceAccount"界面,用于填写系统账户名称及口令.(12)在"服务账户"页上,为SQLServer服务账户指定用户名,密码和域名.可以对所有服务使用一个账户.根据需要,可以为各个服务指定单独的账户.若要为各个服务指定单独的账户,应选中"定制每个服务账户",从下拉框中选择服务名称,然后为该服务提供登录凭据.若要继续安装,则单击"Next"按钮.我们选择"Usethebuilt-inSystemaccount",表示将使用系统内嵌的账户.在"身份验证模式"页上,选择要用于SQLServer安装的身份验证模式.还必须输入并确认用于sa登录的强密码.若要继续安装,则单击"下一步"按钮,系统进入"CollationSettings"页.(13)"排序规则设置"在页上,指定SQLServer实例的排序规则.可以将一个账户用于SQLServer和AnalysisServices,也可以为各个组件分别指定排序规则.若要为SQLServer和AnalysisServices设置单独的排序规则设置,可选择在前面界面中看到的"定制每个服务账户"复选框.选中复选框之后,将出现下拉选择框.从下拉选择框中选择一个服务,然后分配其排序规则.对每个服务重复相同操作.若要继续安装,则单击"下一步"按钮.如果选择ReportingServices作为要安装的功能,将显示"报表服务器虚拟目录"页.接受默认目录名称,或为目录指定位置.若要了解有关此页的详细信息,可单击该页底部的"帮助"按钮.若要继续安装,则单击"下一步"按钮.如果选择ReportingServices作为要安装的功能,还会显示"报表服务器数据库安装程序"页,以指定报表服务器数据库的宿主.如果选择使现有&&&&14&&&&SQLServer2005概述&&&&第&&&&1&&&&章&&&&SQLServer实例驻留报表服务器数据库,可从下拉列表中选择一个实例,再选择用于访问该实例的身份验证模式.(14)如果选择"SQLServer身份验证",可提供对该实例具有管理权限的用户名和密码.然后确认报表服务器数据库名称是否正确.若要继续,则单击"下一步"按钮.(15)如果选择ReportingServices作为要安装的功能,将显示"报表服务器传递设置"页.指定SMTP服务器地址和电子邮件地址(用作从报表服务器发出的电子邮件的发件人).(16)在"错误报告"页上,可以清除复选框以禁用错误报告.有关错误报告功能的详细信息,可单击该页底部的"Help".若要继续安装,则单击"下一步"按钮.(17)在"准备安装"页上,查看要安装的SQLServer功能和组件的摘要.若要继续安装,则单击"安装"按钮.(18)在"安装进度"页上,可以在安装过程中监视安装进度.若要在安装期间查看组件的日志文件,可在"安装进度"页上单击产品或状态名称.在"完成MicrosoftSQLServer安装向导"页上,可以通过单击此页上提供的链接查看安装摘要日志.若要退出SQLServer安装向导,则单击"完成"按钮.(19)如果得到重新启动计算机的指示,则立即进行此操作.完成安装后,阅读来自安装程序的消息是很重要的.如果未能重新启动计算机,可能会导致以后运行安装程序失败或部分服务无法正常工作.为了成功安装MicrosoftSQLServer,在上需要安装下列软件组件.将由SQLServer安装程序安装这些软件组件:Microsoft.NETFramework2.0.MicrosoftSQLServer本机客户端(NativeClient).MicrosoftSQLServer2005安装程序支持文件.安装失败或取消后,这些组件不会被删除.若要删除它们,可使用"控制面板"窗口中的"添加或删除程序"功能.&&&&15&&&&1.5&&&&SQLServer2005的组件&&&&SQLServer2005的综合数据平台如图1.5所示.从图1.5中可以看出,SQLServer2005的组成比较复杂,主要包括企业数据管理,开发产品,管理工具三大类,其中企业数据管理包括管理工具,复制服务,通知服务和关系数据库的一部分,开发产品有VisualStudio,综合业务包括综合服务,分析服务及报表服务等,这些内容在本书的后续章节都会进行详细讨论.SQLServer2005的开发工具使用MicrosoftVisualStudio实现,可以部署使用MicrosoftSQL&&&&图1.5SQLServer2005的综合性数据平台&&&&SQLServer2005中文版数据库管理与开发从入门到精通&&&&Server2005MobileEdition(SQLServerMobile)的应用程序.MicrosoftVisualC++forDevices是VisualStudio2005套件的一部分.在该开发环境下,可以开发自己的产品,包括基于.NET的开发.MicrosoftSQLServer2005提供了设计,开发,部署和管理关系数据库,AnalysisServices多维数据集,数据转换包,复制拓扑,报表服务器和通知服务器所需的工具.SQLServer2005的管理工具有:管理工具,配置工具,性能工具,文档和指南,SQLServer2005升级顾问等,这些将在第2章进行详细介绍.MicrosoftSQLServer2005报表服务是一种基于服务器的解决方案,用于生成从多种关系数据源和多维数据源提取内容的企业报表,发布能以各种格式查看的报表,以及集中管理安全性和订阅.开发者创建的报表可以通过基于Web的连接进行查看,也可以作为MicrosoftWindows应用程序的一部分.MicrosoftSQLServer2005分析服务(SSAS)为商业智能应用程序提供了联机分析处理(OLAP)和数据挖掘功能.分析服务允许设计,创建和管理包含多维结构,使其包含从其他数据源(例如关系数据库)聚合的数据,并通过这种方式来支持OLAP.对于数据挖掘应用程序,分析服务允许使用多种行业标准的数据挖掘算法来设计,创建和可视化从其他数据源构造的数据挖掘模型.MicrosoftSQLServer2005综合服务(SSIS)是生成高性能数据集成解决方案(包括数据仓库的提取,转换和加载包,缩写为ETL)的平台.复制是在数据库之间对数据和数据库对象进行复制和分发,然后在数据库之间进行同步以保持一致性的一组技术.使用复制可以将数据通过局域网,广域网,拨号连接,无线连接和Internet分发到不同位置以及分发给远程用户或移动用户.MicrosoftSQLServer2005通知服务平台用于开发和部署可生成并发送通知的应用程序.可以使用NotificationServices生成并向大量订阅方及时发送个性化的消息,还可以向各种各样的设备传递消息.MicrosoftSQLServer2005数据库引擎是用于存储,处理和保护数据的核心服务.利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内处理大量数据的较高应用需要.数据库引擎还在保持高可用性方面提供了有力的支持.MicrosoftSQLServer2005引入了ServiceBroker,这是一项全新的技术,可用于生成数据库加强型的安全,可靠,可扩展的分布式应用程序.它是数据库引擎的一部分.MicrosoftSQLServer2005包含对SQLServer表中基于纯字符的数据进行全文查询所需的功能.全文可以包括单词和短语,或者一个单词或短语的多种形式.要完整地掌握SQLServer2005的开发与管理知识,仅知道这些内容还远远不够,还需要掌握数据库的组成,尤其是关系数据库的组成.数据库通常由数据组成,但关系数据库管理系统(RelationalDatabaseManagementSystem,RDBMS)的组成远不止这些.高级的RDBMS不仅用于存储数据,而且还用于管理数据――限制哪种数据能够进入系统,并简化从系统中提取数据的过程.RDBMS不仅可以超出存储数据的范围,而且可以进行数据处理,能更适应数据的业务规则,并将这些规则与数据库的完整性结合起来.下面介绍:数据库对象数据类型&&&&16&&&&SQLServer2005概述&&&&维护数据完整性的其他相关概念这些内容在第3章及后续章节还要进行介绍.&&&&第&&&&1&&&&章&&&&1.5.1数据库对象&&&&RDBMS(如SQLServer)包含许多对象,但大致都包括:数据库本身用户自定义函数事务日志表快照文件组用户角色规则默认值&&&&17&&&&关系表用户自定义数据类型视图全文目录存储过程在一个给定的SQLServer中,数据库实际上是可以引用的最高层次对象(技术上,可以认为服务器本身就是一个对象).SQLServer中的大部分其他对象(但不是全部对象)都可以看作数据库对象的子对象.典型的,数据库至少是一组表对象,其他对象(如存储过程和视图)通常属于存储在数据库表中的特定数据分组.通常可以认为,任何数据属于且仅属于一个系统,而关系明显相近的数据将被保存在一个数据库中.一个像SQLServer这样的RDBMS在一个服务器上可以有多个用户数据库,但也可以只有一个用户数据库.一个SQLServer上可以存在的用户数据库的多少取决于以下因素:(CPU,容量磁盘输入/输出和内存等),独立性(允许一个人拥有在用服务器的管理权,而允许其他人拥有另一台服务器的系统管理权),以及各单位拥有数据库的多少.许多服务器上只有一种在用数据库,而其他的服务器或许有多种数据库.记住,利用SQLServer2005可以在一台物理服务器上管理记住,记住实例,而且可以分别登录并拥有独立管理权.多个SQLServer实例,而且可以分别登录并拥有独立管理权.第一次安装SQLServer时(安装了数据库示例),将默认安装以下6种数据库:系统数据库数据库快照Northwind数据库pubs数据库AdventureWorks数据库AdventureWorksDW数据库必须安装其中一些数据库,否则SQLServer不能运行.下面逐个讨论这些数据库.&&&&1.系统数据库&&&&系统数据库中包含的数据库有:master数据库model数据库&&&&SQLServer2005中文版数据库管理与开发从入门到精通&&&&msdb数据库tempdb数据库Resource数据库Distribution数据库这些数据库各有用途.&&&&18&&&&(1)master数据库无论什么样的SQLServer,都有一个master数据库,这个数据库拥有一系列系统表记录跟踪整个系统的信息.例如,在一个服务器上创建新数据库时,master数据库的Sysdatabases表中就增加一个表项.无论它们将用于哪个数据库,所有扩展的或系统定义的sprocs(存储过程)都存在master数据库中.显然,因为几乎所有描述服务器的信息都放在这个数据库中,所以该数据库对系统极其重要而不能删除.概括地说,包括master数据库在内能找到的所有系统表都非常有用.通过这些表,用户可以在执行操作之前确定某个对象是否存在.例如,如果在特定的数据库中创建一个已经存在的对象,系统就会报错.如果一定要执行,就要查看该数据库的sysobjects表中是否已经存在对应的表项,如果确实存在,则必须先删除该对象然后再重新创建.不能在master数据库中执行下列操作:添加文件或文件组.更改排序规则.默认排序规则为服务器排序规则.更改数据库所有者.master归dbo所有.创建全文目录或全文索引.在数据库的系统表上创建触发器.删除数据库.从数据库中删除guest用户.参与数据库镜像.删除主文件组,主数据文件或日志文件.重命名数据库或主文件组.将数据库设置为OFFLINE.将数据库或主文件组设置为READ_ONLY.使用master数据库时,可考虑下列建议:始终有一个master数据库的当前备份可用.执行下列操作后,尽快备份master数据库:创建,修改或删除数据库.更改服务器或数据库的配置值.修改或添加登录账户.不要在master中创建用户对象.否则,必须更频繁地备份master.MicrosoftSQLServer2005中更改了使用Setup命令重新生成master数据库的用法.运行Setup.exe重新生成,验证和修复SQLServer实例,并重新生成系统数据库.此过程通常用于为损坏的SQLServer安装重新生成master数据库.&&&&SQLServer2005概述&&&&第&&&&1&&&&章&&&&以任何形式使用系统表都是很危险的行为.微软已经建议,至少在最近两版的SQLServer上不要采用系统表.不同版本的master数据库不能保证这些系统表之间的兼容性.更新系统表的对象有能导致SQLServer崩溃.幸运的是,有许多可选办法用于恢复存储在系统表中记录描述信息的元数据(metadata),如采用系统函数,系统存储过程,信息架构视图等.也就是说,如果系统崩溃,仍然有机会恢复.后面会讨论一些特殊的必须使用系统表的情况,但通常应避免使用系统表.(2)model数据库在某种意义上,model数据库就是一个模型,可以基于它建立一个副本.该数据库为新建的数据库创建一个.这就意味着可以通过修改model数据库来更改新建标准数据库的样式.例如,可以添加每个新建数据库都包含的一系列核查表,也可以添加一些用户组,这些用户组将被克隆到系统新建的所有数据库中.&&&&19&&&&注意&&&&由于该数据库充当了其他数据库的,所以它是必备的数据库,而且系统中必须保留,不能删除.任何新建数据库至少要与model数据库一样大.这意味着,如果将model数据库改变为100MB,那么任何新建的数据库将不会比100MB小.&&&&不能在model数据库中执行下列操作:添加文件或文件组.更改排序规则.默认排序规则为服务器排序规则.更改数据库所有者.model归dbo所有.删除数据库.从数据库中删除guest用户.参与数据库镜像.删除主文件组,主数据文件或日志文件.重命名数据库或主文件组.将数据库设置为OFFLINE.将数据库或主文件组设置为READ_ONLY.(3)msdb数据库前面已经讨论过在SQLServer安装过程中需要安装的数据库,而且说明了删除master数据库或model数据库会导致系统瘫痪.这里再说明一点,删除msdb数据库不会导致系统瘫痪.msdb数据库是SQLAgent处理存储系统任务的地方.如果在数据库上安放一个夜间运行的备份日程表,那么在msdb上就会存在一个对应表项.删除msdb不会导致系统彻底崩溃,但是,如果系统中含有日程任务表项,工作历史记录,服务器上存储的DTS包和元数据仓库等,则不仅会导致这些信息全部丢失,而且会导致再也不能使用SQLAgent.&&&&SQLServer2005中文版数据库管理与开发从入门到精通&&&&不能在msdb数据库中执行下列操作:更改排序规则.默认排序规则为服务器排序规则.删除数据库.从数据库中删除guest用户.参与数据库镜像.删除主文件组,主数据文件或日志文件.重命名数据库或主文件组.将数据库设置为OFFLINE.将主文件组设置为READ_ONLY.如果删除msdb数据库后想重新安装,将会把服务器弄得一团糟.虽然可以删除该数据库,但建议不要删除.(4)tempdb数据库tempdb数据库是服务器的关键工作区之一.无论什么时候发出一条复合命令,服务器都需要建立一个临时中间表来完成该项任务,这项工作就是在tempdb数据库中完成的;无论什么时候创建一个自己的临时表,都是在tempdb数据库中创建的(尽管有人认为是在当前数据库中创建的);无论什么时候需要临时存储数据,很可能都是存储在tempdb数据库中.tempdb数据库与其他数据库的差别在于,不仅其中的对象是临时存在的,而且数据库本身也是临时的.每次重新启动SQLServer时,该数据库都是系统临时彻底重建的唯一一个数据库.从技术上说,可以在tempdb数据库中创建自己的对象,但建议不要进行该练习.可以在系统能访问的任何数据库中创建临时对象,这些临时对象将被存储在tempdb数据库中.(5)Resource数据库Resource数据库是一个只读数据库,它包含了SQLServer2005所包括的所有系统对象.SQLServer系统对象(例如sys.objects)在物理上持续存在于Resource数据库中,但在逻辑上,它们出现在每个数据库的sys架构中.Resource数据库不包含用户数据或用户元数据.Resource数据库具有显著的优点,如快速的版本升级和易于回滚ServicePack的能力.在默认情况下,Resource数据库存放的物理文件名是Mssqlsystemresource.mdf,其存放路径为:x:\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\Mssqlsystemresource.mdf(这里的X表示操作系统存放的盘符).切勿移动或重命名Resource数据库文件.如果该文件已重命名或移动,SQLServer将不能启动.另外,勿将Resource数据库放置在压缩或加密的NTFS文件系统文件夹中.&&&&20&&&&SQLServer2005概述&&&&此操作会降低性能并阻止升级.&&&&第&&&&1&&&&章&&&&每个SQLServer实例都具有一个(也是唯一的一个)关联的Mssqlsystemresource.mdf文件,&&&&21&&&&
上一篇资讯:
下一篇资讯:
文章排行榜}

我要回帖

更多关于 蓝筹股是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信