数据库镜像详解_第1页
数据库镜像详解_第2页
数据库镜像详解_第3页
数据库镜像详解_第4页
数据库镜像详解_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

002.SQLServer数据库镜像高可用简介目录一数据库镜像简介o1.1数据库镜像概述o1.2数据库镜像的优点o1.3数据库镜像术语和定义o1.4运行模式二角色切换o2.1切换概述o2.2角色切换形式三其他o3.1暂停会话对主体事务日志的影响o3.2设置数据库镜像会话o3.3与其他数据库引擎功能的互操作性和共存数据库镜像简介1.1数据库镜像概述数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的SQLServer数据库引擎服务器实例上。通常,这些服务器实例驻留在不同位置的计算机上。启动数据库上的数据库镜像操作时,在这些服务器实例之间形成一种关系,称为"数据库镜像会话"。其中一个服务器实例使数据库服务于客户端("主体服务器"),另一个服务器实例则根据镜像会话的配置和状态,充当热备用或温备用服务器("镜像服务器")。同步数据库镜像会话时,数据库镜像提供热备用服务器,可支持在已提交事务不丢失数据的情况下进行快速故障转移。未同步会话时,镜像服务器通常用作热备用服务器(可能造成数据丢失。在"数据库镜像会话"中,主体服务器和镜像服务器作为"伙伴"进行通信和协作。两个伙伴在会话中扮演互补的角色:"主体角色”和"镜像角色”。在任何给定的时间,都是一个伙伴扮演主体角色,另一个伙伴扮演镜像角色。每个伙伴拥有其当前角色。拥有主体角色的伙伴称为"主体服务器",其数据库副本为当前的主体数据库。拥有镜像角色的伙伴称为"镜像服务器",其数据库副本为当前的镜像数据库。如果数据库镜像部署在生产环境中,则主体数据库即为"生产数据库"。数据库镜像涉及尽快将对主体数据库执行的每项插入、更新和删除操作"重做"到镜像数据库中。重做通过将活动事务日志记录的流发送到镜像服务器来完成,这会尽快将日志记录按顺序应用到镜像数据库中。与逻辑级别执行的复制不同,数据库镜像在物理日志记录级别执行。从SQLServer2008开始,在事务日志记录的流发送到镜像服务器之前,主体服务器会先将其压缩。在所有镜像会话中都会进行这种日志压缩。提示给定的服务器实例可以参与到多个具有相同或不同伙伴的并发数据库镜像会话中。某个服务器实例可能在某些会话中是伙伴,而在其他会话中则是见证服务器。镜像服务器实例必须正在运行SQLServer的相同版本。1-2数据库镜像的优点数据库镜像是一种简单的策略,具有下列优点:•提高数据库的可用性发生灾难时,在具有自动故障转移功能的高安全性模式下,自动故障转移可快速使数据库的备用副本联机(而不会丢失数据%在其他运行模式下,数据库管理员可以选择强制服务(可能丢失数据),以替代数据库的备用副本。有关详细信息,请参阅本主题后面的角色切换。•增强数据保护功能在SQLServer2008Enterprise或更高版本上运行的数据库镜像伙伴会自动尝试解决某些阻止读取数据页的错误。无法读取页的伙伴会向其他伙伴请求新副本。如果此请求成功,则将以新副本替换不可读的页,这通常会解决该错误。•提高生产数据库在升级期间的可用性为了尽量减少镜像服务器的停机时间,您可以按顺序升级承载故障转移伙伴的SQLServer实例。这样只会导致一个故障转移的停机时间。这种形式的升级称为"滚动升级"。1-3数据库镜像术语和定义•自动故障转移(automaticfailover)一种过程,当主体服务器不可用时,该过程将导致镜像服务器接管主体服务器的角色,并使其数据库的副本联机以作为主体数据库。•古攵障转移伙伴(failoverpartners)充当镜像数据库的角色切换伙伴的两个服务器实例(主体服务器或镜像服务器。是指在负责将服务传输到镜像数据库(但它处于未知状态)的主体服务器出现故障时数据库所有者启动的故障转移。•高性能模式(High-performancemode)数据库镜像会话异步运行并仅使用主体服务器和镜像服务器。唯一的角色切换形式是强制服务(可能造成数据丢失)B ;—主悻一普f镜像他第箱 服舞困m安全为or•高安全性模式(High-safetymode)数据库镜像会话同步运行并可以选择使用见证服务器、主体服务器和镜像服务器。宅体-糕再f镜慷服务器 服房器学务安全为FULL上图所示不带自动故障转移的高安全性模式;见iH上图所示带自动故障转移的高安全性模式。的方向见iH上图所示带自动故障转移的高安全性模式。的方向事务宕全为run手动故障转移(manualfailover)是指在负责将服务从主体数据库传输到镜像数据库(处于同步状态)的主体服务器仍在运行时数据库所有者启动的故障转移。•镜像数据库(mirrordatabase)通常与主体数据库完全同步的数据库副本。•镜像服务器(mirrorserver)在数据库镜像配置中,镜像数据库所在的服务器实例。•镜像服务器(mirrorserver)在数据库镜像配置中,镜像数据库所在的服务器实例。•主体数据库(principaldatabase)数据库镜像中的一种读写数据库,其事务日志记录将应用到数据库的只读副本(镜像数据库)。•主体服务器(principalserver)在数据库镜像中,是指当前作为主体数据库的数据库所属于的伙伴。重做队歹U(redoqueue)收到的等待镜像服务器磁盘的事务日志记录。•角色(role)主体服务器和镜像服务器担任互补的主体角色和镜像角色。也可以由第三个服务器实例来担任见证服务器角色。•角色切换(roleswitching)镜像接管主体角色。•发送队列(sendqueue)在主体服务器的日志磁盘累积的未发送的事务日志记录。•会话(session)是指主体服务器、镜像服务器和见证服务器(如果存在)之间进行数据库镜像期间形成的关系。镜像会话启动或继续后;将累积在主体服务器上的主体数据库日志记录发送给镜像服务器的过程,此过程将这些日志记录尽快写入磁盘,以便与主体服务器保持同步。•事务安全(Transactionsafety)一种镜像特定的数据库属性,用于确定数据库镜像会话是同步运行还是异步运行。有两种安全级别:FULL和OFF。•见证服务器(Witness)仅用于高安全性模式,SQLServer的一个可选实例,它能使镜像服务器识别何时要启动自动故障转移。与这两个故障转移伙伴不同的是,见证服务器并不能用于数据库。见证月艮务器的唯一角色是支持自动故障转移。1-4运行模式数据库镜像会话以同步操作或异步操作运行。在异步操作下,事务不需要等待镜像服务器将日志写入磁盘便可提交,这样可最大程度地提高性能。在同步操作下,事务将在伙伴双方处提交,但会延长事务滞后时间。有两种镜像运行模式。一种是"高安全性模式",它支持同步操作。在高安全性模式下,当会话开始时,镜像服务器将使镜像数据库尽快与主体数据库同步。一旦同步了数据库,事务将在伙伴双方处提交,这会延长事务滞后时间。第二种运行模式,即"高性能模式",异步运行。镜像服务器尝试与主体服务器发送的日志记录保持同步。镜像数据库可能稍微滞后于主体数据库。但是,数据库之间的时间间隔通常很小。但是,如果主体服务器的工作负荷过高或镜像服务器系统的负荷过高,则时间间隔会增大。所有数据库镜像会话都只支持一台主体服务器和一台镜像服务器。具有自动故障转移功能的高安全性模式要求使用第三个服务器实例称为"见证服务器"。敬据能作力DB_1的畛器实例所有数据库镜像会话都只支持一台主体服务器和一台镜像服务器。具有自动故障转移功能的高安全性模式要求使用第三个服务器实例称为"见证服务器"。敬据能作力DB_1的畛器实例作为DB,1的主像睫务嚣服务器实制与这两个伙伴不同的是,见证服务器并不能用于数据库。见证服务器通过验证主体服务器是否已启用并运行来支持自动故障转移。只有在镜像服务器和见证服务器与主体服务器断开连接之后而保持相互连接时,镜像服务器才启动自动故障转移。故据流见近故据流见近服翳养可透)注意建立新的镜像会话或将见证服务器添加到现有镜像配置要求涉及的所有服务器实例运行相同版本的SQLServer.但是,当升级到SQLServer2008或更高版本时,所涉及的实例的版本可以不同。1.5事务安全与运行模式运行模式是异步还是同步取决于事务安全设置。如果专门使用SQLServerManagementStudio来配置数据库镜像,则在您选择运行模式时,将自动配置事务安全设置。如果使用Transact-SQL配置数据库镜像,则必须了解如何设置事务安全。事务安全由ALTERDATABASE语句的SAFETY属性控制。在正在镜像的数据库中,SAFETY为FULL或OFF。如果将SAFETY选项设置为FULL,则在初始同步阶段后,数据库镜像操作将同步执行。如果在高安全性模式下设置见证服务器,则会话支持自动故障转移。如果将SAFETY选项设置为OFF,则数据库镜像操作将异步执行。会话在高性能模式下运行,并且WITNESS选项也应设置为OFF。二角色切换2.1切换概述在数据库镜像会话上下文中,通常可以使用一个称为"角色切换”的过程来互换主体角色和镜像角色。角色切换涉及将主体角色转换给镜像服务器的操作。在角色切换中,镜像月艮务器充当主体服务器的"故障转移伙伴"。进行角色切换时,镜像服务器将接管主体角色,并使其数据库的副本联机以作为新的主体数据库。以前的主体服务器(如果有)将充当镜像角色,并且其数据库将变为新的镜像数据库。这些角色可以反复地来回切换。2.2角色切换形式•自动故障转移这要求使用高安全性模式并具有镜像服务器和见证服务器。数据库必须已同步,并且见证服务器必须连接到镜像服务器。见证服务器的作用是验证给定的伙伴服务器是否已启动并运行。如果镜像服务器与主体服务器断开连接,但见证服务器仍与主体服务器保持连接,则镜像服务器无法启动故障转移。•手动故障转移这要求使用高安全性模式。伙伴双方必须互相连接,并且数据库必须已同步。•强制服务(可能造成数据丢失)在高性能模式和不带自动故障转移功能的高安全性模式下如果主体服务器出现故障而镜像服务器可用,则可以强制服务运行。提示:高性能模式用于在没有见证服务器的情况下运行.但如果存在见证服务器,则强制服务将要求见证服务器连接到镜像服务器。在任何一种角色切换情况下,一旦新的主体数据库联机,客户端应用程序便会通过重新连接到数据库来快速恢复。给定的服务器实例可以参与到多个具有相同或不同服务器实例的并发数据库镜像会话(每个镜像数据库发生一次)中。通常,服务器实例专门用作其所有数据库镜像会话中的伙伴或见证服务器。但是,由于每个会话都独立于其他会话,因此服务器实例可以在某些会话中充当伙伴,而在其他会话中充当见证服务器。 例如,请看三个服务器实例(SSInstance_1、SSInstance_2和SSInstance_3)中的下列四个会话。每个服务器实例都可在某些会话中作为伙伴,而在其他会话中作为见证服务器:服务器实例数据库A的会话数据库B的会话数据库C的会话数据库D的会话SSInstance_1见证服务器伙伴伙伴伙伴SSInstance_2伙伴见证服务器伙伴伙伴SSInstance_3伙伴伙伴见证服务器见证服务器下图说明了都作为伙伴参与两个镜像会话的两个服务器实例。一个会话用于名为Db_1的数据库,另一个会话用于名为Db_2的数据库。作为的作为的主体月&务器忤为DIB1的崔1ft服务嚣每个数据库独立于其他数据库。例如,服务器实例最初可能是两个数据库的镜像服务器。如果其中一个数据库发生故障转移,则服务器实例将变为已发生故障转移的数据库的主体服务器,同时为其他数据库保留镜像服务器。或者有一个服务器实例,它是两个或多个以具有自动故障转移功能的高安全性模式运行的数据库的主体服务器,如果此服务器实例失败,则所有数据库将自动故障转移到其相应的镜像数据库。提示:如果将一个服务器实例设置成既作为伙伴又作为见证服务器参与会话,请确保数据库镜像端点能够支持两种角色。同时,还要确保系统具有足够资源以减少资源争用。注意:由于镜像数据库相互独立,因此这些数据库不能作为一个组来进行故障转移回到顶部三其他3.1暂停会话对主体事务日志的影响数据库所有者可以随时暂停会话。执行暂停操作将保留在删除镜像时的会话状态。暂停会话时,主体服务器不会向镜像服务器发送任何新的日志记录。所有这些记录将保持活动

温馨提示

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

评论

0/150

提交评论