51CTO下载-sql server 2005 数据库镜像

发布于:2021-12-07 15:15:33

实战 SQL Server 2005 数据库镜像 实战 SQL Server 2005 数据库镜像
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.0 或 SQL Native Client,老的应用程序需要升级,需要 见证服务器才能实现自动故障转移。 表 1 数据库镜像与集群的比较 高可用特性 故障转移方式 对吞吐量的影响 数据库镜像 自动、手动 极小 故障转移集群 自动、手动 没有影响

零工作丢失 提供冗余数据 故障转移切换时间 硬件要求 存储要求 服务器距离要求 客户端要求

Yes Yes 小于 10 秒 标准服务器 无 无 支持 ADO.NET 和 SQL Native Client

Yes No 30 秒以上,视数据量大小 通过集群验证要求的服务器 共享盘柜 100 米 无,虚拟 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 术 Partner Developer Edition Standard Edition Workgroup Edition SQL Express(免 费)

√ √

√ √

√ √ √ √

Witness

在每台服务器上均使用 SQL Server 外围应用配置器, 开放允许通过 TCP/IP 和 NAME 访问 数据库,这是 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'" 五、小结 SQL Server 2005 数据库镜像技术为企业通过提供了一个更安全、可靠和高效的数据管理* 台,并降低了投入成本,大大减少了应用程序宕机时间,提高了系统的可用性,使之能不断 拓展的企业应用空间,为企业带来新的商业应用机遇。 六、FAQ 1. A:单击开始镜像后,提示 1418 错误,镜像服务器不存在或无法访问。 Q:先加入域,再安装数据库,用域账户启动数据库服务,使用配置数据库安全向导时用域 管理员账户验证连接。 2.A:PB10.2 在连接数据库时提示 Failed to creat a instance of type DbRoutine

Q : 将 X:\Program Files\Sybase\Shared\PowerBuilder\PBDATA100.dll 拷 贝 到 X:\Program Files\Sybase\PowerBuilder 10.0\目录下 注意:当主体数据库出现现问题时: 1、在镜像数据库上先做强制启动:alter database GL set partner force_service_allow_data_loss go 2、在镜像数据库上将 GL 数据库取消镜像就还原成原来的了


相关推荐

最新更新

猜你喜欢