SQL Server 2005相对于SQL Server 2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用“革命”来形容这一次升级。SQL Server 2005使 SQL Server 跻身于企业级数据库行列。在数据高可用性方面,SQL Server 2005为用户提供了数据镜像、复制、故障转移群集、日志传送功能。本文向读者简单介结SQL Server 2005镜像功能。

一、镜像简介

数据库镜像是一个高可用性软件解决方案,为客户端提供小于10秒故障转移。每个数据库镜像配置均包含一个主体服务器(包含主体数据库)、一个镜像服务器(包含镜像数据库)和一个见证服务器,其中见证服务器是可选的。主体服务器和镜像服务器要求是独立的服务器实例。主体服务器和镜像服务器的角色是相对的,可以自动或者手动地将主体服务器设置为镜像服务器,镜像服务器设置为主体服务器。与主体服务器和镜像服务器不同的是,见证服务器并不能用于数据库。见证服务器监视主体服务器和镜像服务器,确保在给定的时间内这两个故障转移服务器中有且只有一个作为主体服务器,从而支持自动故障转移。如果存在见证服务器,同步会话将以“高可用性模式”运行,如果主体服务器出现故障,可以实现故障自动转移。如果见证服务器不存在,同步会话将以“高级别保护模式”运行,出现故障需要手动故障转移,并且有可能丢失数据。

图1:两台服务器镜

数据库准备结束,端点创建完成,用户便可以启用数据库镜像。镜像启动后,每个伙伴都将开始维护所在数据库中有关其数据库,以及另一个伙伴和见证服务器的状态信息。这些状态信息允许服务器实例维护称为“数据库镜像会话”的当前关系。在数据库镜像会话过程中,服务器实例将通过彼此定期交换 PING 消息来互相监视。

镜像会话启动后,镜像服务器将识别镜像数据库上最新完成的事务的日志序列号 (LSN),并要求主体服务器提供所有后续事务的事务日志,主体服务器向像镜像服务器发生一份当前活动的事务日志,镜像服务器会立即将传入日志镜像到磁盘。主体服务器继续让客户端连接使用主体数据库,每次客户端更新主体数据库时,主体服务器都会在写入到日志时,并将得到的事务日志发送给镜像服务器,镜像服务器会将其镜像到磁盘。同时,镜像服务器将从最早的事务日志开始,将事务应用到镜像数据库中,从而实现主体数据库和镜像数据库同步。

二、配置实例

了解数据库镜像的基本知识之后,看一看怎样去配置镜像。(使用镜像功能请确保安装了SQL Server 2005 SP1)。

笔者为做镜像实验,在同一个服务器上同时装三个实例: SERVER01、SERVER02、SERVER03。其中,SERVER01将作为主体服务器、SERVER02作为镜像服务器、 SERVER03作为见证服务器。

在完成本实验的第一步需要将主体服务器的DBMirror数据库,完全备份出来,然后在SERVER02上还原,在还原的时候注意使用NORECOVERY,使用镜像数据处于还原状态。在备份之前请将DBMirror数据库的日志模式设置为完整。

完成了上面的准备之后就可以设置镜像。

第一步:创建端点。

在SERVER01上运行下面的SQL:

CREATE ENDPOINT DbMirroring

STATE=STARTED

AS TCP(LISTENER_PORT=5011)

FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED)

go

在SERVER02上运行下面的SQL:

CREATE ENDPOINT DbMirroring

STATE=STARTED

AS TCP(LISTENER_PORT=5022)

FOR DATABASE_MIRRORING(ROLE=PARTNER,ENCRYPTION=SUPPORTED)

go

在SERVER03上执行下面的SQL,创建见证服务器。

CREATE ENDPOINT DbMirroring

STATE=STARTED

AS TCP(LISTENER_PORT=5033)

FOR DATABASE_MIRRORING(ROLE=WITNESS,ENCRYPTION=SUPPORTED)

go

第二步:启动镜像

在前面的规划中SERVER01将作为主体服务器、SERVER02作为镜像服务器,首先在主体服务器上执行下面的SQL:

ALTER DATABASE DBMirror

SET PARTNER='TCP://jeffery:5022' --(注:笔记的机器名称是jeffery)

go

指定SERVER01的通讯伙伴是SERVER02(因为前面定义端点的时候SERVER02的端口号为5022)。

在SERVER02的上执行下面的SQL,指定通讯伙伴为SERVER01。

ALTER DATABASE DBMirror

SET PARTNER='TCP://jeffery:5011'

go

回到主体服务器,指定见证服务器。在SERVER01上执行下面的SQL:

ALTER DATABASE DBMirror

SET WITNESS='TCP://jeffery:5033'

go

完成以上步骤之后,镜像配置完成。如图3所示。

三、管理镜像

1、 相关系统视图

sys.database_mirroring:此视图显示服务器实例中每个镜像数据库的数据库镜像元数据。实例 SQL Server 中的每个数据库在表中占一行。如果数据库未联机,或未启用数据库镜像,则除 database_id 以外的所有列的值都将为 NULL。

sys.database_mirroring_endpoints:目录视图显示有关服务器实例的数据库镜像端点的信息。

sys.dm_db_mirroring_connections:为每个数据库镜像网络连接返回一行。

2、 手动主体、镜像服务器之间的切换

在主体服务器中执行下面的代码就可以将镜像服务器设为主体服务器,主体服务器设置为镜像服务器。

USE MASTER

Go

ALTER DATABASE DBMirror SET PARTNER FAILOVER

Go

数据库镜像是一个很好的高可用性解决方案,笔者参加微软的技术论坛时曾看到过微软的技术人员演示镜像的故障转移,如主体服务器出现故障,在10秒内客户端就重新连到数据库服务器。限于篇幅和笔者的水平,对数据库镜像作了简单的介绍,还有很多东西没有提及到比如说客户端怎样连到服务器等等,希望本文成为读者学习镜像功能的开端。

转载于:https://www.cnblogs.com/fangbo/archive/2009/08/13/1544878.html

SQL Server 2005高可用性之镜像功能相关推荐

  1. 黄聪:SQL server 2005高可用性之----数据库镜像

    SQL server 2005高可用性之数据库镜像,是SQL server 2005的新技术之一,是一种基于软件的高可用性解决方案,可以对不同服务器或同一服务器不同实例之间的数据库实验无数据延迟,自动 ...

  2. 实验二:SQL server 2005高可用性之----数据库镜像

    如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/11/04/4769060.aspx SQL server 2005高可用性之数据库 ...

  3. 实验一:SQL server 2005高可用性之----日志传送

    如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/10/31/4751070.aspx SQL server 2005高可用性之日志传 ...

  4. Ms Sql Server 2005的数据库快照功能使用实践

    数据库快照是sql server 2005的一个新功能.Msdn上对它的定义是: 数据库快照是数据库(称为"源数据库")的只读静态视图.在创建时,每个数据库快照在事务上都与源数据库 ...

  5. SQL Server 2005高可用性之复制(http://tech.it168.com/db/s/2007-05-15/200705150909375.shtml)

    SQL Server 2005相对于SQL Server 2000来说,无论是性能还是功能都有一个相当大的提高,甚至可以用"革命"来形容这一次升级.SQL Server 2005使 ...

  6. Visual C# 2008+SQL Server 2005 数据库与网络开发--9.1.1 SQL Server 2005中的XML功能

    在SQL Server 2005中,对XML的支持已经集成到数据库本身的所有组件中,主要包括以下几方面. 支持XML格式的数据类型. 可以对XML格式的数据或者变量进行XQuery的查询. 增强了XM ...

  7. SQL SERVER 2005镜像配置(包含见证服务器)

    镜像简介 重要说明:保持数据库镜像运行.如果您关闭数据库镜像,则必须执行完全备份并还原数据库以重建数据库镜像. 一. 简介 SQL SERVER 2005镜像基于日志同步,可良好实现故障转移.每个数据 ...

  8. SQL Server 2005 中的商务智能和数据仓库

    微软发布了SQL Server 2005,对于微软与BI来说这是一个非常重要的版本,它完善了微软在BI方面的产品线.SQL Server 2005以及 Visual Studio .net2005的整 ...

  9. SQL Server 2005的商务智能和数据仓库

    摘要:本文概述了 SQL Server 2005 Beta 2 中"商务智能"平台的增强功能.本文并非实施指南,而是为读者提供了关于"商务智能"平台增强功能的信 ...

  10. SQL Server 2005:你应该知道的13件事情

    距离微软的SQL Server 2005正式版的推出,已经将近一年的时间.随着最近两份研究报告的出炉,SQL Server 2005又引起了业界的关注和评论--微软凭借SQL Server 2005取 ...

最新文章

  1. 可在广域网部署运行的QQ高仿版 -- GG叽叽(开源)
  2. 移动项目开发笔记(.Net下的观察者(Observer)模式)
  3. python图像开闭区间_自动开闭器不良故障案例分析
  4. (一)数据结构与算法简介
  5. oauth基本流程和原理
  6. 高速缓冲存储器的功能、结构与工作原理
  7. 【牛客 - 289 I】这是一个沙雕题I (字符串问题,水题)
  8. emd实现信息隐藏_EMD算法原理与实现
  9. 函数调用你知道几种方法
  10. Solidity API
  11. Bailian2950 摘花生【贪心】
  12. C/C++[codeup 6112]Be Unique
  13. 3dmax uv展开
  14. 《数据资产管理实践白皮书4.0》下载!(附PPT解读)
  15. 前端实现炫酷动效_创建炫酷 CSS 背景效果的 10 个代码片段
  16. 区块链三加一:资产不可复制性
  17. 超漂亮的网页图文排版
  18. 【数据清洗】数据清洗流程及经验
  19. 应用matplotlib的imshow函数显示彩色图像(RGB data)报错的解决方法
  20. 最新notion enhancer安装教程(macOS Intel适用)

热门文章

  1. 漏桶算法和令牌桶算法
  2. STL的vector
  3. sqlserver min函数其他set操作消除了null值_数据库常用SQL操作篇
  4. servicemix7 linux,学习ServiceMix笔记(三) 学习ServiceMix的基本命令之安装组件
  5. java 变量 string_java中String类型变量的赋值问题
  6. 中国计算机类研究生学校排名,2018考研:计算机专业全球院校排名公布,上海交通大学竟排第一?...
  7. php png 透明缩略图,php生成图片缩略图,支持png透明
  8. ios tabbar中间凸起_移动端开发基础【21】tabBar 配置
  9. aspose 转pdf表格大小乱了_关于Aspose.Words转PDF简体中文排版问题申明
  10. area标签高亮_HTML的所有标签列表