简述SQL Server 2005数据库镜像相关知识

SQL Server 数据库中,数据库镜像是用于提高数据库可用性的主要软件解决方案。数据库镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。简单恢复模式和大容量日志恢复模式不支持数据库镜像,数据库镜像不能镜像master、msdb、tempdb 或 model 数据库。本文我们主要就介绍一下数据库镜像的相关知识,接在来就让我们来一起了解一下吧!

数据库镜像维护一个数据库的两个副本,这两个副本必须驻留在不同的SQL Server 数据库引擎实例(服务器实例)上。通常,这些服务器实例驻留在不同位置的计算机上。其中一个服务器实例使数据库服务于客户端(“主体服务器”),而另一个服务器实例则充当热备用或备用服务器(“镜像服务器”),具体取决于镜像会话的配置和状态。同步数据库镜像会话时,数据库镜像提供了热备用服务器,可支持在已提交事务不丢失数据的情况下进行快速故障转移。未同步会话时,镜像服务器通常用作备用服务器(可能造成数据丢失)。

数据库镜像的优点

数据库镜像是一种简单的策略,具有下列优点:

增强数据保护功能。

数据库镜像提供完整或接近完整的数据冗余,具体取决于运行模式是高安全性模式还是高性能模式。有关详细信息,请参阅本主题后面的“运行模式”。

提高数据库的可用性。

发生灾难时,在具有自动故障转移功能的高安全性模式下,自动故障转移可快速使数据库的备用副本在线(而不会丢失数据)。在其他运行模式下,数据库管理员可以选择强制服务(可能丢失数据),以替代数据库的备用副本。有关详细信息,请参阅本主题后面的“角色切换”。

提高生产数据库在升级期间的可用性。

若要使镜像数据库的停机时间减至最小,可以按顺序升级要参加数据库镜像会话的 SQL Server 实例,从而使停机时间仅为一次故障转移的时间。这种形式的升级称为“滚动升级”。

数据库镜像工作方式

在“数据库镜像会话”中,主体服务器和镜像服务器作为“伙伴”进行通信和协作。两个伙伴在会话中扮演互补的角色:“主体角色”和“镜像角色”。在任何给定的时间,都是一个伙伴扮演主体角色,另一个伙伴扮演镜像角色。每个伙伴拥有其当前角色。拥有主体角色的伙伴称为“主体服务器”,其数据库副本为当前的主体数据库。拥有镜像角色的伙伴称为“镜像服务器”,其数据库副本为当前的镜像数据库。如果数据库镜像部署在生产环境中,则主体数据库即为生产数据库。

数据库镜像涉及尽快将对主体数据库执行的每项插入、更新和删除操作重做到镜像数据库中。重做通过将每个活动事务日志记录发送到镜像服务器来完成,这会尽快将日志记录按顺序应用到镜像数据库中。与逻辑级别执行的复制不同,数据库镜像在物理日志记录级别执行。

运行模式

数据库镜像会话以同步操作或异步操作运行。在异步操作下,事务不需要等待镜像服务器将日志写入磁盘便可提交,这样可最大程度地提高性能。在同步操作下,已提交的事务将在伙伴双方上提交,但会延长事务滞后时间。

有两种镜像运行模式。一种是“高安全性模式”,它支持同步操作。在高安全性模式下,当会话开始时,镜像服务器将使镜像数据库尽快与主体数据库同步。在同步数据库之后,已提交的事务将在伙伴双方上提交,但会延长事务滞后时间。

第二种运行模式,即“高性能模式”,异步运行。镜像服务器尝试与主体服务器发送的日志记录保持同步。虽然镜像数据库可能稍微滞后于主体数据库,但这两个数据库之间的时间间隔通常很小。但是,如果主体服务器的工作负荷过高或镜像服务器系统的负荷过高,则时间间隔会增大。

在高性能模式中,主体服务器向镜像服务器发送日志记录之后会立即再向客户端发送确认一条消息,而不需要等待镜像服务器的确认。这意味着事务不需要等待镜像服务器将日志写入磁盘便可提交。此异步操作允许主体服务器在事务滞后时间最小的条件下运行,但可能会丢失某些数据。

所有数据库镜像会话都只支持一台主体服务器和一台镜像服务器。下图阐释了这种配置。

具有自动故障转移功能的高安全性模式要求使用第三个服务器实例,称为“见证服务器”。与这两个伙伴不同的是,见证服务器并不能用于数据库。见证服务器通过验证主体服务器是否已启用并运行来仅支持自动故障转移。只有在镜像服务器和见证服务器与主体服务器断开连接之后而保持相互连接时,镜像服务器才启动自动故障转移。

下图显示了包含见证服务器的配置。

事务安全与运行模式

运行模式是异步还是同步取决于事务安全设置。如果专门使用 SQL Server Management Studio 来配置数据库镜像,则在您选择运行模式时,将自动配置事务安全设置。

如果使用 Transact-SQL 配置数据库镜像,则需要了解如何设置事务安全。事务安全由 ALTER DATABASE 语句的 SAFETY 属性控制。在正在镜像的数据库中,SAFETY 为 FULL 或 OFF。

如果将 SAFETY 选项设置为 FULL,则在初始同步阶段后,数据库镜像操作将同步执行。如果在高安全性模式下设置见证服务器,则会话支持自动故障转移。

如果将 SAFETY 选项设置为 OFF,则数据库镜像操作将异步执行。会话在高性能模式下运行,并且 WITNESS 选项也应设置为 OFF。

角色切换

在数据库镜像会话上下文中,通常可以使用一个称为“角色切换”的过程来互换主体角色和镜像角色。角色切换涉及将主体角色转换给镜像服务器的操作。在角色切换中,镜像服务器充当主体服务器的“故障转移伙伴”。进行角色切换时,镜像服务器将接管主体角色,并使其数据库的副本在线以作为新的主体数据库。以前的主体服务器(如果有)将充当镜像角色,并且其数据库将变为新的镜像数据库。这些角色可以反复地来回切换。

存在以下三种角色切换形式:

自动故障转移

这要求使用高安全性模式并具有镜像服务器和见证服务器。数据库必须已同步,并且见证服务器必须连接到镜像服务器。

见证服务器的作用是验证给定的伙伴服务器是否已启动并运行。如果镜像服务器与主体服务器断开连接,但见证服务器仍与主体服务器保持连接,则镜像服务器无法启动故障转移。

手动故障转移

这要求使用高安全性模式。伙伴双方必须互相连接,并且数据库必须已同步。

强制服务(可能造成数据丢失)

在高性能模式和不带自动故障转移功能的高安全性模式下,如果主体服务器出现故障而镜像服务器可用,则可以强制服务运行。

重要提示:

高性能模式用于在没有见证服务器的情况下运行。但如果存在见证服务器,则强制服务将要求见证服务器连接到镜像服务器。

在任一种角色切换情况下,一旦新的主体数据库在线,客户端应用程序便会通过重新连接到数据库来快速恢复。

数据库镜像支持

数据库镜像伙伴和见证服务器受到 SQL Server 2005 Standard Edition SP1 和更高版本支持,还受到 SQL Server 2005 Enterprise Edition SP1 和更高版本支持。前提是各伙伴都必须使用相同的版本,只有 SQL Server 2005 Enterprise Edition SP1 及更高版本支持异步数据库镜像(高性能模式)。见证服务器还受到 SQL Server 2005 Workgroup Edition SP1 和更高版本以及 SQL Server 2005 Express Edition SP1 和更高版本支持。

关于SQL Server 2005数据库镜像的知识就介绍到这里了,希望能够给您带来收获的!

(0)

相关推荐

  • MySQL 数据库双向镜像、循环镜像(复制)

    对于双向数据库镜像,就是数据库A的数据变化要镜像到数据库B中,同时数据库B里的修改也要同时复制到数据库A里. 对于循环数据库镜像,就是多个数据库A.B.C.D等,对其中任一个数据库的修改,都要同时镜像到其它的数据库里. 应用:同一个Zen Cart网店的数据库和程序,可以放置在不同的主机上,在任一台主机上新增的订单.客户资料,都会同时加入其它的主机数据库里. 要实现双向或循环数据库镜像,首先要解决的就是防止数据库中自动递增(AUTO_INCREMENT)字段的冲突,以免多数据库各自生成一样的增量

  • SQL Server 2005 镜像构建手册(sql2005数据库同步镜像方案)

    一. 镜像简介 1. 简介 数据库镜像是将数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境中的另一个SQL Server数据库中.镜像不能直接访问;它只用在错误恢复的情况下才可以被访问. 要进行数据库镜像所需的最小需求包括了两个不同的SQL Server运行环境.主服务器被称为"主机",第二个服务器被称作"备机".主机数据库就是你实际用着的数据库,镜像数据库就是你的数据库的备用拷贝.当事务写入你的基本服务器的时候,他们也同样被传送到并

  • SQL Server 2008 数据库镜像部署实例之一 数据库准备

    一.目标 利用Sql Server 2008 enterprise X64,建立异步(高性能)镜像数据库,同时建立见证服务器实现自动故障转移. 二.前提条件.限制和建议 2.1.伙伴双方(主体服务器和镜像服务器)及见证服务器必须使用相同版本的Sql Server 2.2.如使用见证服务器,择须确保其系统上安装 Sql Server 2005或更高版本 2.3.在镜像服务器上创建镜像数据库时,确保制定相同的数据库名称WITH NOREBOVORY来还原主题数据库备份.另外,还必须通过 WITH N

  • 利用SQL SERVER 2005数据库镜像实现可用性分析

    我们首先来看一下什么是数据镜像: 现在几乎所有的应用系统都是基于数据库的,那么数据库的负荷是比较大的,在一天24小时中,任何时间都有可能会有数据要保存到数据库,或是从数据库中读出数据.任意时刻都会有用户连接到我们的数据库服务器上,几十,几百甚至成千上万个用户来连接使用我们的数据库,那么不论是计划内的宕机还是计划外的故障都会造成一定的损失.给我们的用户或是企业带很大的损失,特别是随着数据时代的到来,用户对数据的使用提出了更高的要求,那么作为一个DBA,就要想怎么做才能将这个损失减少到最低,正是因为

  • SQL数据库与oracle数据库镜像有什么不同对比

    Oracle数据库与MSSQL数据操作上有很大的不同,但是,在镜像操作方面有类比的地方.这篇文章关于MSSQL数据库镜像在Oracle数据库中是如何实现的,它们之间存在哪些差异呢. 首先,微软SQL数据库中的镜像数据库类似于Oracle数据库中的备用数据库.我说的只是类似,确切的说,我们需要考虑不同数据库在自己体系中的差异.MSSQL作为一个实例来操作,一个实例包含几个数据库,你首先要登录一个实例,然后选择哪个数据库作用于该实例.而在Oracle数据库中,简单模式(忽略RAC)就只有一个数据库与

  • mssql2005数据库镜像搭建教程

    一 概述 数据库镜像是SQL SERVER 2005用于提高数据库可用性的新技术.数据库镜像将事务日志记录直接从一台服务器传输到另一台服务器,并且能够在出现故障时快速转移到备用服务器.可以编写客户端程序自动重定向连接信息,这样一旦出现故障转移就可以自动连接到备用服务器和数据库. 优势:数据库镜像可以在不丢失已提交数据的前提下进行快速故障转移,无须专门的硬件,并且易于配置和管理. 二 环境准备 操作系统:Window 2003 enterprise sp2(至少两台,如要启用自动故障转移,必需三台

  • SQL Server误区30日谈 第10天 数据库镜像在故障发生后 马上就能发现

    误区10.数据库镜像在故障发生后,马上就能发现 错误 市面上大肆宣传数据库镜像技术可以在故障发生后,立即检测到错误并进行故障转移. 但事实并不是这样,检测到故障发生的速度要取决于故障的类型. 检测故障发生的最快的情况是,镜像中的主体实例崩溃,从而镜像服务器每秒一次的PING就无法返回值,从而知道主体服务器上不再有这个进程侦听相应的TCP端口,这种情况下,镜像服务器几乎瞬间就能发现故障. 检测到故障发生第二快的情况是主体服务器的操作系统崩溃.此时主体服务器不再响应镜像服务器的PING,从而在镜像服

  • SQL Server 2008 R2数据库镜像部署图文教程

    概述 "数据库镜像"是一种针对数据库高可用性的基于软件的解决方案.其维护着一个数据库的两个相同的副本,这两个副本分别放置在不同的SQL Server数据库实例中.建议使用不同位置的两台服务器来承载.在同一时刻,其中一台上的数据库用于客户端访问,充当"主体服务器"角色:而另一台则根据镜像会话的配置和状态,充当热备份服务器,即"镜像服务器角色",这两种角色不是绝对的. 优点 l 增强了数据保护功能 l 提高了数据库的可用性 l 提高了生产数据库在升级

  • SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移

    上一篇文章已经为配置镜像数据库做好了准备,接下来就要进入真正的配置阶段 一.在镜像数据库服务器上设置安全性并启动数据库镜像会话 1.展开数据库,选择VirtualManagerDB,点击右键选择任务--镜像 2.点击配置安全性,点选是,包括见证服务器 3.去掉见证服务器,以后进行配置 4.设置主体服务器,填入端点名称为site1 5.添加镜像服务器,取端点名为site2 6.指定服务账户为域管理员账户(可以在域内事先配置) 7.创建成功,点击关闭 8.弹出对话框,选择不开始开始镜像 9.点选高性

  • 监视SQLServer数据库镜像[图文]

    1.首先,打开SMS,在任意一个数据库上面点右键,任务,启动数据库镜像监视器. 2.点击注册镜像数据库,在服务器实例下拉菜单中选择镜像数据库的实例名,如果没有,可以直接点连接,然后在链接到服务器窗口中进行设置,如下图所示: 3.设置好后点确定就出现如下窗口所示了: 4. 点击警告选项卡,可以设置对警告的阈值进行设置,如下图所示: 5.在步骤3的窗口上点击历史记录,就可以查看SQLServer数据库镜像运行的历史记录了.如下图所示:

  • SQL Server 2008 数据库镜像部署实例之三 配置见证服务器

    前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若要支持自动故障转移,必须在高安全性模式下配置数据库镜像会话,并且还要具有第三个服务器实例(也称为"见证服务器").见证服务器是 SQL Server 的可选实例,它能使高安全性模式会话中的镜像服务器识别出是否要启动自动故障转移.与这两个伙伴不同的是,见证服务器并不能用于数据库.见证服务器的唯一角色是支持自动故障转移. 2.为了给数据库设置见证服务器,数据库所有

随机推荐