实战SQL Server2005数据库镜像

SQL Server 2005 是微软5年来具有里程碑性质的企业级数据库产品。在高可用技术、额外的备份和恢复功能,以及复制增强上的投资使企业能够构建和部署高可用的应用系统。SQL Server 2005在高可用上的创新有:数据镜像,故障转移集群,数据库快照和增强的联机操作,这有助于最小化宕机时间和确保企业的关键系统可用。下面我们将介绍数据库镜像技术

一、数据库镜像

SQL Server 2005 可通过数据库镜像来支持热备功能。数据库镜像允许事务日志以连续的方式从主服务器传递到备份服务器上。当主服务器出现故障时,见证服务器几秒钟内即可检测到主服务器发生了故障,并能立即让备份服务器接受数据库连接。数据库镜像工作在标准服务器硬件下,不需要特定的存储或控制器。图1显示了数据库镜像的基本配置。

1: 数据库镜像的基本配置

二、与传统的集群技术比较

故障转移集群是一个高可用解决方案,它使用Microsoft Clustering Services 创建容错虚拟服务器,一旦数据库服务器宕机,便可提供快速故障转移。在SQL Server 2005中, SQL Server 分析服务,通知服务,与SQL Server复制现在都已支持故障转移集群。集群节点的最大数量也增加到8个,SQL Server 故障转移集群现已是一个完整的容错服务器解决方案。

从表1中我们可以看出数据库镜像的优点是故障切换时间短,对服务器要求低,无需存储盘柜,所以服务器之间的距离没有要求,甚至可以把服务器一台放在北京,另一台放在上海。缺点是客户端需要支持ADO.NET 2.0SQL Native Client,老的应用程序需要升级,需要见证服务器才能实现自动故障转移。

1数据库镜像与集群的比较

高可用特性

数据库镜像

故障转移集群

故障转移方式

自动、手动

自动、手动

对吞吐量的影响

极小

没有影响

零工作丢失

Yes

Yes

提供冗余数据

Yes

No

故障转移切换时间

小于10

30秒以上,视数据量大小

硬件要求

标准服务器

通过集群验证要求的服务器

存储要求

共享盘柜

服务器距离要求

100

客户端要求

支持ADO.NET

SQL Native Client

无,虚拟IP

三、部署数据库镜像

安装好3台Windows Server 2003企业版服务器,先加入到域中,名字为NODE1.ftyy.com,NODE2.ftyy.com和NODE3.ftyy.com,然后依次安装SQL Server 2005 Developer Edition、Developer Edition、和SQL Express。SQL Server 2005对数据库镜像提供支持的版本见表2。

2数据库镜像与SQL Server 2005版本

数据库镜像技术

Enterprise Edition

Developer Edition

Standard Edition

Workgroup Edition

SQL Express(免费)

Partner

Witness

在每台服务器上均使用SQL Server 外围应用配置器,开放允许通过TCP/IPNAME访问数据库,这是Server SQL 2005增强安全性的措施之一。如图2

2

1.NODE1上创建一个数据库,名字为testdb_01,数据库的恢复模式必须使用完整模式。

create database testdb_01

GO

2.完整备份testdb_01数据库。

BACKUP DATABASE testdb_01

TO DISK = 'C:/testdb_01.bak'

WITH FORMAT

GO

3.将备份文件拷贝到NODE2的C盘,恢复备份,数据库名必须和NODE1一致,本例为testdb_01,而且必须使用参数NORECOVERY

RESTORE DATABASE testdb_01

    FROM DISK = 'C:/testdb_01.bak'

    WITH NORECOVERY

GO

4.在NODE1上运行SQL Server Management Studio——鼠标右键testdb_01数据库——在属性里单击镜像选择页。如图3

3

单击配置安全性——弹出配置数据库安全向导界面,下一步——包括见证服务器,下一步——在以下服务器上保存安全性配置,下一步——主体服务器实例:NODE1,端口和端点名称默认,下一步。如图4。

4

镜像服务器实例:NODE2,端口和端点名称默认,下一步——见证服务器实例:NODE3,端口和端点名称默认,下一步——服务账户,下一步——完成。

选择带自动故障转移功能的同步,单击开始镜像。

稍候,镜像成功,在这里可以手动故障转移,测试数据库镜像。如图5。

5

四、客户端连接

我在Windows XP SP2 .NET Framework 2.0系统上测试了Sybase Powerbuilder 10.2 Build 8100开发工具,ADO.NET 2.0使用下面的字符串可以连接到数据库,并随故障转移自动切换数据库,访问不受任何影响。

// Profile SQL Server 2005

SQLCA.DBMS = "ADO.Net"

SQLCA.LogPass = <*********>

SQLCA.LogId = "sa"

SQLCA.AutoCommit = False

SQLCA.DBParm = "Namespace='System.Data.SqlClient',DataSource='node2.ftyy.com;Failover Partner=node1.ftyy.com;Initial Catalog=testdb_01',Database='testdb_01'"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值