主要参考文献
http://msdn.microsoft.com/zh-cn/library/ms191140(v=sql.90)
http://msdn.microsoft.com/zh-cn/library/ms189127(v=sql.90).aspx
辅助参考文献
http://www.cnblogs.com/killkill/archive/2008/05/23/1205792.html
http://liulike.blog.51cto.com/1355103/339183
--主9.20 备9.13, 两机的防火墙端口5022都要开启入站连接
--0、主机数据库全备份,事务日志备份。备机分别还原数据库和事务日志,注意,还原时都选择 with non recovery
--1、主机签发证书给备机,备机签发证书给主机
--2a、主机上创建提供给备机登录的账号密码,并绑定到备机的证书,这样备机通过备机证书,即可在主机上登录操作(不用管用户名密码,只通过证书,因为证书已经和用户名密码绑定过了)
--2b、备机上创建提供给主机登录的账号密码,并绑定到主机的证书,这样主机通过主机证书,即可在备机上登录操作(不用管用户名密码,只通过证书,因为证书已经和用户名密码绑定过了)
USE master;
ALTER DATABASE <DatabaeName>
SET RECOVERY FULL;
--实现互通可以使用域或证书来实现,考虑实现的简单,以下选取证书的方式实现。
--注意:实现“主备数据库实例互通”的操作只需要做一次,例如为了将两个SQL Server 2005的实例中的5个数据库建成镜像关系,则只需要做一次以下操作就可以了;
--或者这样理解:每一对主备实例(不是数据库)做一次互通。
USE master;
--创建数据库主密钥, 查看数据库主密钥 select * from sys.symmetric_keys http://msdn.microsoft.com/zh-cn/library/ms174382(v=sql.90).aspx
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'mkeypa913!';
CREATE CERTIFICATE HOST913_cert WITH SUBJECT = '9.13 certificate for database mirroring',
START_DATE = '01/01/2012';
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'mkeypa920!' --需满足操作系统密码安全性要求(2008有强制要求)
CREATE CERTIFICATE HOST920_cert WITH SUBJECT = '9.20 certificate for database mirroring',
START_DATE = '01/01/2012';
--主
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )
FOR
DATABASE_MIRRORING
(AUTHENTICATION = CERTIFICATE HOST913_cert, ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
--备
CREATE ENDPOINT Endpoint_Mirroring
STATE = STARTED
AS
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )
FOR
DATABASE_MIRRORING
( AUTHENTICATION = CERTIFICATE HOST920_cert, ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );
--主
BACKUP CERTIFICATE HOST913_cert TO FILE = 'C:\SQLBackup\HOST913_cert.cer';
--备
BACKUP CERTIFICATE HOST920_cert TO FILE = 'D:\SQLBackup\HOST920_cert.cer';
互换证书
将备份到D:\SQLBackup\的证书进行互换,即HOST913_cert.cer复制到备机的D:\SQLBackup\。HOST920_cert.cer复制到主机的D:\SQLBackup\
--主(创建备机的入站账号)
CREATE LOGIN HOST_920_login WITH PASSWORD = 'host920!';
CREATE USER HOST_920_user FOR LOGIN HOST_920_login;
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_920_user FROM FILE = 'C:\SQLBackup\HOST920_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_920_login];
--备(创建主机的入站账号)
CREATE LOGIN HOST_913_login WITH PASSWORD = 'host913!';
CREATE USER HOST_913_user FOR LOGIN HOST_913_login;
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_913_user FROM FILE = 'D:\SQLBackup\HOST913_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_913_login];
--以下步骤是针对每个数据库进行的,例如:现有主机中有5个数据库以下过程就要执行5次。
-备
ALTER DATABASE jdbt SET PARTNER = 'TCP://192.168.9.13:5022';
--主
ALTER DATABASE jdbt SET PARTNER = 'TCP://192.168.9.20:5022';
四、测试操作
1、主备互换
--主机执行:
2ALTER DATABASE <DatabaseName> SET PARTNER FAILOVER;
3
2、主服务器Down掉,备机紧急启动并且开始服务
--备机执行:
2ALTER DATABASE <DatabaseName> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS;
3
3、原来的主服务器恢复,可以继续工作,需要重新设定镜像
2USE master;
3ALTER DATABASE <DatabaseName> SET PARTNER RESUME; --恢复镜像
4ALTER DATABASE <DatabaseName> SET PARTNER FAILOVER; --切换主备
5
4、原来的主服务器恢复,可以继续工作
--默认情况下,事务安全级别的设置为 FULL,即同步运行模式,而且SQL Server 2005 标准版只支持同步模式。
--关闭事务安全可将会话切换到异步运行模式,该模式可使性能达到最佳。
2ALTER DATABASE <DatabaseName> SET PARTNER SAFETY FULL; --事务安全,同步模式
3ALTER DATABASE <DatabaseName> SET PARTNER SAFETY OFF; --事务不安全,异步模式
4
相关推荐
SQL Server 2005 镜像构建技术和相关概念介绍,给出了详细的构建过程,包括有见证服务器和没有见证服务器两种情况,经过多次测试
本手册将详细讲解如何构建SQL Server 2005的数据库镜像,以实现数据库的容错和灾难恢复。 一、数据库镜像概念 数据库镜像是SQL Server 2005中的一种高可用性解决方案,它通过在主服务器(Principal Server)和镜像...
- `SQL Server 2005 镜像构建手册__net教程网.mht`:这是一份详细的手册,指导如何构建SQL Server 2005的镜像环境。 - `main1.sql`, `mirror2.sql`, `add.sql`, `main3.sql`, `mirror4.sql`, `mirror5.sql`, `main6....
SQL Server 2005是微软推出的一款关系型数据库管理系统,具有强大的数据处理能力和...《SQL Server 2005镜像构建手册》文档将深入介绍这些概念,并提供详细的配置和操作指南,帮助读者更好地理解和应用数据库镜像技术。
SQL Server 2005是微软公司推出的一款关系型数据库管理系统,它在企业级数据管理、分析和报告方面具有广泛的应用。SQL Server 2005的发布为开发者提供了更强大的工具和更丰富的功能,使其在数据库管理和开发领域中...
在将SQL Server 2005升级至SQL Server 2008的过程中,涉及的知识及技巧涵盖了从理解新版本特性到优化、安全、开发、维护高可用性数据库、数据仓库构建和报告服务使用的广泛范围。以下将详细介绍升级过程中需要注意的...
在SQL Server 2005中,数据库镜像与其他高可用性技术(如复制、故障转移群集、日志传送)结合使用,可以构建更复杂、更健壮的高可用性解决方案。这使得SQL Server 2005成为企业级数据库系统的选择,提高了数据安全性...
- "SQLServer2005教程.pdf":可能是一份全面的教程,涵盖数据库设计、查询、管理等方面。 - "SQL Server 2005基础入门教程.pdf":同上,可能侧重于基础操作和使用技巧。 - "SQL2005学习教程较为详细.ppt":可能是PPT...
此外,还会涉及SQL Server的性能监控和调整,以及高可用性解决方案,如故障转移群集和镜像。 第二本书可能侧重于数据库开发,深入讲解T-SQL语言,包括DML(数据操纵语言)和DDL(数据定义语言)的使用。这涉及到...
Struts 1.1、Hibernate 3.0 和 SQL Server 2005 数据库驱动包是构建基于Java的企业级Web应用程序的关键组件。这些技术在2000年代中期广泛应用于开发面向服务架构(SOA)和模型视图控制器(MVC)模式的系统。 Struts...
同时,也会涉及SQL Server Integration Services (SSIS)、SQL Server Analysis Services (SSAS) 和 SQL Server Reporting Services (SSRS),这三大服务分别用于数据集成、多维数据处理和报表生成,是构建企业级BI...
数据库镜像是SQL Server 2005引入的一项功能,其主要目标是提供一种软件级别的解决方案,实现数据的实时备份和快速故障切换。它可以在不同服务器或同一服务器的不同实例之间创建数据库的两个实时同步的副本。数据库...
SQL Server 2005 提供了多种高可用性和灾难恢复选项,包括故障转移群集、数据库镜像等,确保了在发生故障时数据的连续性和可用性。 ### 20. 数据挖掘和商业智能 SQL Server 2005 引入了数据挖掘功能,使用户能够从...