SQLServer联机事务处理.docx
《SQLServer联机事务处理.docx》由会员分享,可在线阅读,更多相关《SQLServer联机事务处理.docx(11页珍藏版)》请在冰豆网上搜索。
![SQLServer联机事务处理.docx](https://file1.bdocx.com/fileroot1/2023-2/21/2cd2cb48-f77d-45e3-b500-3507277fc2fb/2cd2cb48-f77d-45e3-b500-3507277fc2fb1.gif)
SQLServer联机事务处理
SQLServer2008联机事务处理
SQLServer技术文档
作者:
AnnWeber(ContentMaster)
技术检查员:
MichaelRaheemandNirajNagrani
策划编辑:
JoanneHodgins
发布日期:
August2007
更新:
January2008
适用产品:
SQLServer2008
摘要:
MicrosoftSQLServer2008针对当今的应用程序提供了一个优化的数据平台,能够适用于任意大小的业务应用.显著降低的停机时间极大的提高了成本效益,并通过动态和主动的管理大大降低了管理开销。
而且,SQLServer2008提供了一个高度安全的平台,可以使企业部署敏感的关键业务应用程序.
更新的SQLServer2008信息,请查看MicrosoftSQLServer网站(
版权声明
这是一篇预备文档,在所描述的软件正式发布之前其内容有可能会发生改变。
本文档所包含的信息代表了在发布之日,MicrosoftCorporation(微软公司)对所讨论问题的当前看法。
因为Microsoft必须顺应不断变化的市场条件,故不应将本文档理解为Microsoft一方的承诺,Microsoft不保证所给出的信息在发布之日以后的准确性。
本白皮书仅用于提供信息。
Microsoft对本文档中的信息不做任何明示、默示或法定的担保。
遵守所有适用的版权法律是用户的责任。
在不对版权法所规定的权利加以限制的情况下,未得到MicrosoftCorporation明确的书面许可,不得为任何目的、以任何形式或手段(电子的、机械的、影印、录制等等)复制、传播本文的任何部分,也不得将其存储或引入到检索系统中。
本文档可能涉及Microsoft的专利、专利申请、商标、版权或其它知识产权。
除非Microsoft通过书面许可协议明确提供,此文档并没有授予您对这些专利、商标、版权或其它知识产权的任何许可。
除非特别说明,此处所述作为范例的公司、组织、产品、域名、电子邮件地址、徽标、人员、地点和事件均为虚构,不与任何真实的公司、组织、产品、域名、电子邮件地址、徽标、人员、地点或事件有任何联系,也不应据此进行任何臆测或推断。
©2007MicrosoftCorporation.保留所有权利。
Microsoft,Excel,Office,PivotChart,PivotTable,SQLServer和VisualStudio是MicrosoftCorporation在美国和/或其它国家的注册商标或商标。
所有其它商标均是其各自所有者的财产。
导言
在过去的20年数据库得到了普遍使用,并迅速发展。
存储和技术成本的降低导致大量地存储数据和数据库的急剧扩大。
由于这个简单有效的技术,内嵌的数据库和许多产品应运而生,并使得公司可以存储更多的数据,并保持更久的时间,所以公司想合并他们的服务器。
SQLServer2008专注于四个关键领域来满足现今的OLTP数据库需求:
·可扩展性和性能。
SQLServer2008使得公司可以建立具有现今的应用程序所要求的性能和扩展能力的数据库解决方案。
·高有效性。
SQLServer2008提供了一个具有实时(always-on)能力的数据库应用程序,同时将你的高有效性解决方案的管理和执行花费降低到最小。
·安全性。
SQLServer2008支持一个增强的安全数据平台,它将你的数据加密,审查对你的数据和元数据的改动,合并外部的密钥,并将备份文件中的数据加密和签名。
·可管理性。
SQLServer2008通过提供创新的和自动的基于政策的管理和改进了用于性能监控、故障排除和调整的工具,来帮助公司降低管理它们的数据基础设施所花费的时间和成本。
可扩展性和性能
目前朝向基于数据和服务器合并的方向发展的趋势以及远程和内置数据库的发展,使得对于数据库服务器来说可扩展性和可以良好的运行多种应用程序的能力是非常重要的。
SQLServer2008提供了一个强大的数据库环境,它可以按照你的数据需求来进行调整。
有效的数据存储
尽管磁盘空间一般很便宜,但是降低你的数据库所使用的存储空间的数量还是有很多好处的。
大型的数据文件会降低读写的执行速度。
SQLServer2008解决这个问题的方法是进行数据压缩。
数据压缩使你可以更有效地存储你的数据,降低你的数据的存储要求,并提供一个高效的磁盘输入/输出(I/O)从而显著地提高了大型负载的执行性能。
SQLServer2008还创新地提供了备份压缩的本地支持。
SQLServer2008还通过支持像XML、VARCHAR(MAX)和VARBINARY(MAX)和VARDECIMAL这样的数据类型从而提高了磁盘空间的有效使用。
vardecimal数据类型删除了小数表达式的前导的和后续的零,所以降低了保存这种数据类型所需的磁盘空间。
此外,保存null值所造成的磁盘存储效率较差和性能降低问题可通过SQLServer2008中所支持的稀疏列来解决。
服务器内存的有效使用
随着数据库的规模和功能的继续发展,数据库服务器必须能够充分利用服务器上的内存。
SQLServer2008支持映射内存的地址窗口扩展(AWE)的动态分配,所以可以支持WindowsServer2003DatacenterEdition的最大64GB的内存。
这使得你的数据库可以有效的扩展到足以满足你的用户的性能要求的程度。
均衡的负载性能
尽管SQLServer可以动态地管理内存资源,但随着数据系统的发展和服务器被合并,你必须可以均衡一个SQLServer实例上的不同负载间的性能。
资源监控器是SQLServer2008中的一个新的工具,它提供了对运行在SQLServer实例上的单独的负载定义限制和指定优先权的能力。
这个功能使得公司可以利用服务器合并功能,同时维护稳定的性能。
最佳的并发
有了更大的数据存储,那么在记录级别的锁定就会消耗太多的资源并降低性能。
为了解决这个问题,SQLServer2008提供了对锁升级的更好的控制,使你可以将锁升级到分割区或表级别,这为大型的数据存储提供了更好的性能。
SQLServer2008还通过允许将锁授权给一个分割单位从而提高了大型分区表的性能。
这提供了在这些大型表上的更好的并发,同时还因为锁定了更大的数据段从而优化了性能。
高有效性
随着数据环境的发展,要实现实时数据操作就变得更为重要了。
SQLServer2005通过推出了数据库镜像和更强大的备份和恢复功能,从而提供了实时技术的新天地。
SQLServer2008在这个基础之上,为行业的关键任务应用程序提供了更好的服务。
通过数据库镜像提高了数据库有效性
随着SQLServer2005,Microsoft推出了数据库镜像作为一种提高数据保护和增强数据库有效性的方式。
数据库镜像由两个服务器组成,这两个服务器作为数据库镜像会话的合作服务器。
这两个合作服务器之一作为主服务器,另一个作为镜像服务器,它只放置一个只读的数据库拷贝。
数据库镜像本质上来讲是一个基于软件的冗余解决方案。
当主服务器失效时,数据库镜像通过支持手动的或自动的失效备援来保护数据库访问。
要支持对这个数据的更多访问,你可以通过数据库快照配置镜像服务器,这允许对这个镜像拷贝的只读访问。
当磁盘失败时,数据页面会失效或很占CPU。
SQLServer2008企业版保护数据的完整性,并使得一个合作节点可以自动地从这些损坏页面错误处尝试进行恢复。
这个恢复尝试使得SQLserver可以更快地从物理数据损坏处进行恢复,并可以不需要人为干预。
数据库镜像要求在镜像合作服务器间进行日志信息的传送。
在镜像的服务器间传送大量的数据会导致潜在的问题,并且会引起网络通信的增加,这会影响所有的用户和其它的服务器。
为了优化这个数据传送,SQLServer2008使用向外的镜像日志流压缩。
这个压缩将网络要支持这个数据库镜像所需的带宽降低到最小。
在许多环境中,对客户端应用程序进行改动来使用数据库镜像都是不可行的。
SQLServer2008为数据库镜像添加了透明地进行客户端重定向,以此来降低对改变客户端应用程序的需求。
有了这个功能,就有更多的公司可以利用数据库镜像了。
故障转移群集
许多公司需要能够保护整个SQLServer实例、而不仅仅是保护单独的数据库的高有效性解决方案。
SQLServer2008通过在一个MicrosoftClusterService集群组中合作来满足这一要求。
一个故障转移群集对客户端来说是一个单独的SQLServer2008实例,但它提供了在当前的服务器不可用时从一个服务器到另一个服务器的失效备援。
在之前的SQLServer版本中的几个局限限制了集群解决方案的优势。
这些局限包括集群解决方案要求对每个SQLServer实例使用一个单独的驱动字母,而且集群中的所有节点必须在同一个子网中。
在SQLServer2008的集群中,当它安装在WindowsServer2008(“Longhorn”)中时,它提供了一个更灵活的集群配置从而消除了这些限制。
此外,为了支持关键任务应用程序和更大的环境,SQLServer2008利用WindowsServer2008(“Longhorn”)集群中的改进来为最大为16个节点的集群提供支持。
集群验证工具使得公司可以测试它们的硬件配置的有效性,而不必依靠于一列集群解决方案窗口目录上所罗列的整个系统解决方案。
这个工具使得公司在为它们的集群解决方案选择硬件方面具有更高的灵活性。
通过复制功能提供了更好的数据访问灵活性
有了复制功能,公司就可以从一个远程站点添加数据库拷贝,这增强了站点自治性,还可以添加用于生成报表的只读的数据库拷贝,或对等复制拓扑中的数据库的拷贝,对每个位置处的改动都是在各自位置处改动然后复制到其它位置。
SQLServer2008支持事务型的、合并的和快照的复制,以此来支持分布式的应用程序。
复制已经成为了需要大量配置和管理的一个领域。
SQLServer2008提供了一组向导和工具来帮助进行复制和配置。
对等拓扑向导和拓扑浏览器帮助数据库管理员能够更容易地建立和配置对等事务型复制。
拓扑浏览器使你可以观察图形化的现有拓扑。
你可以使用新的可视化的设计器和向导更轻松地创建和修改你的复制拓扑,如图1所示:
图1
此外,在SQLServer的之前的版本中,当你要将一个新的节点添加到对等的复制拓扑中不只一个节点上的时候,你需要停止对复制系统的数据改动。
在关键任务数据库中停止系统活动是不可行的。
SQLServer2008允许你对复制拓扑添加新节点而不需要停止系统活动,所以大型的关键任务数据库可以在安装新节点期间继续使用。
不需要服务器停机来添加内存和处理器
存储关键任务数据时,每一次停机都会影响你的商业效率。
SQLServer2008企业版支持在SQLServer服务运行时添加内存和处理器到SQLServer,所以它不需要维护停机。
安全性
存储的私人数据的不断增加,还有公众对安全问题的认识,以及行业和政府对数据存储制定的规则,意味着对于现今的企业来说它们的一个主要挑战是实现一个安全的数据解决方案。
SQLServer具有能够帮助你配置安全的工具,它们对于你的安全要求来说是最佳的。
SQLServer2008建立在SQLServer2005的安全功能之上,并提供了一个安全的和可定制的安全架构、全面事件处理、具有透明的进行数据加密的灵活的和安全的存储、简单的和统一的企业加密,以及密钥管理。
一个安全的和可定制的安全架构
一个强大的授权层级使得管理员可以细粒度的分配权限,只允许那些需要它的用户访问到它。
除了授权给需要它的用户的标准的权限,SQLServer还提供给管理员更好的管理灵活性,它允许他们分配给助理管理员只执行分配给他们的工作的所需要的特定的权限。
SQLServer2008还提供了密码复杂度和有效期限政策,这些会更好的保护你的数据防止强行攻击,并支持客户端应用程序和服务器间的敏感通讯的完全加密。
全面事件审查
随着对安全的关注越来越多和政府制定的规则的不断发展,审查就变成了许多数据库环境中的一个完整部分。
审查日志必须能够记录发生在数据库服务器上的所有事件,同时要能够灵活的对所要求的事件配置审查。
有了SQLServer2008,你可以做不同级别的审查,例如服务器和数据库级别。
这些审查事件回答诸如以下的问题,“什么数据被修改了?
被谁修改了?
”和“发生了多少次登录失败?
”。
除了能够做到对你的数据库平台灵活的配置不同级别的审查,你还可以部署从一个SQLServer到企业中其它的SQLServer的审查设置,这使得更容易部署和管理一个企业级的审查解决方案。
当在企业中部署了审查后,AuditingDataCollector会合并审查报表以提供丰富的对企业趋势的分析。
通过透明的数据加密实现灵活地和安全地进行存储
在SQL2005中,支持基于密钥的加密功能,但是加密的字段不能被检索和搜索到。
而且,客户端应用程序需要做修改以访问这些加密的数据。
SQLServer2008支持透明数据加密(TDE),它可以在数据库级别实现,它能够将整个数据库、一个数据文件,或一个日志文件加密,而不需要对客户端应用程序做改动。
数据在磁盘中读写时进行加密和解密。
这个方法使得你可以创建索引和搜索加密的数据的内容,包括加密数据的纯文本搜索,使得更多的公司可以利用数据加密。
简单的和统一的企业加密和密钥管理
在SQLServer2005中,密钥是和数据存储在一起的,并且是由SQLServer完全管理的。
除了这个本地的SQL密钥管理,SQLServer2008支持第三方加密提供商、第三方密钥管理软件和硬件安全模块(HSM)。
这使得你可以简化和合并公司内的应用程序和服务间的加密和密钥管理。
可管理性
产品功能的发展、朝向服务器合并的方向发展的趋势和不断增长的远程数据库,这些增加了数据管理的复杂度。
SQLServer的声明式管理和使用政策的数据库
随着数据库和用户数目的不断增长,管理员需要政策提供的预先管理能力。
SQLServer2008中的声明式管理框架提供了定义配置政策和应用它们到服务器、数据库、表和企业中其它的目标的能力。
这些政策可以防止或监控对系统的改动。
在政策创建之后,它们会降低数据库管理员花费在日常维护工作上的时间。
你可以使用触发器来预先加强这些政策,或使用ServiceBroker在变更发生之后处理政策应用程序、或者你可以使用SQLServerAgent来计划政策执行。
SQLServer2008还允许你使用即席执行来实时地检查对象是否符合政策。
使用SQLServerManagementStudio进行统一的服务器管理
SQLServerManagementStudio提供了一个综合的环境,你可以使用它来访问、管理、配置和开发你的数据库和数据库服务器。
SQLServerManagementStudio提供了一个图形化的环境和丰富的脚本功能。
你可以使用这个应用程序来管理本地和远程的服务器。
SQLServerManagementStudio是为所有技术层面的数据库管理员设计的。
服务器和数据库统计的统一集合和管理
要排除性能问题故障,你必须具有正确的数据,而且它必须是易访问的。
SQLServer2008的PerformanceStudio做到了这一点,它是一个设计用来排除故障、调整和监控一个或多个SQLServer实例的状态的工具套件。
使用了这些工具,数据库管理员就可以更快地排除故障和调整性能问题。
Performancestudio的三个基本的功能包括:
·从多个来源——像SQLTrace、系统监控器、动态管理视图(DMV)和日志——获得数据集合的耗费较低。
·一个用来存储收集到的数据的集中数据管理仓库。
这个功能帮助管理员比较过去的数据和基准数据,使得他们能够看出趋势和为未来的性能要求作出预测。
·综合的报表服务功能提供了在一处显示所有相关的故障排除信息的功能,并对指定数据的高度抽象概括进行钻探,从而为用户指出了问题的根源所在。
总结
SQLServer2008是一个综合的数据平台,它对于你的关键任务应用程序来说是安全的、可靠的和可扩展的,并且满足新一代数据库发展的需求。
它为所有的数据类型和设备提供了一组丰富的服务和工具。
改进了资源的使用、加强了锁定、优化了数据存储,这些使得性能和可扩展性都得到了提高。
SQLServer2008提供了一个创新的、基于政策的基础设施,这简化了数据平台的管理,改进了性能监控和PerformanceStudio中的报表工具。
最后,SQL2008通过改进数据库镜像和失效备援集群从而提供了高有效性,并利用了安装在WindowsServer2008上时所提供的功能。
Formoreinformation,pleasevisitthefollowing:
Generalproductinformation:
Fordevelopers:
ForITProsandadministrators:
Didthispaperhelpyou?
Pleasegiveusyourfeedback.Tellusonascaleof1(poor)to5(excellent),howwouldyouratethispaperandwhyhaveyougivenitthisrating?
Forexample:
∙Areyouratingithighduetohavinggoodexamples,excellentscreenshots,clearwriting,oranotherreason?
∙Areyouratingitlowduetopoorexamples,fuzzyscreenshots,unclearwriting?
Thisfeedbackwillhelpusimprovethequalityofwhitepaperswerelease.Sendfeedback.