Sql server2005建立镜像手册

本文详细介绍了如何通过SQL Server 2005搭建数据库镜像的过程,包括设置恢复模式、创建证书及端点、备份证书等步骤,并提供了主备机互换的具体指令。

Sql server2005建立镜像手册

 

 

 

 

本人也是在人家帖子上,照着做了一遍sqlserver2005镜像,转帖连接在下班,没遇到什么问题,因为是正式库,所以没有切换测试.

l  主备实例互通

 

若要对此数据库进行数据库镜像,必须将它更改为使用完整恢复模式。

1 USE master;
2 ALTER DATABASE <DatabaeName>
 
3 SET RECOVERY FULL;

 

1、创建证书(主备可并行执行)

主机执行

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'csdn'
;
CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate'
 , 
START_DATE 
= '11/15/2010';

镜像

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'csdn'
;
CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate'

START_DATE 
= '11/15/2010';

 

2、创建连接的端点(主备可并行执行)

主机执行

CREATE ENDPOINT Endpoint_Mirroring 
STATE 
=
 STARTED 
AS
 
TCP ( LISTENER_PORT
=5022 , LISTENER_IP = ALL
 ) 
FOR
 
DATABASE_MIRRORING 
( AUTHENTICATION 
= CERTIFICATE HOST_A_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 HOST_B_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL );

 

 

3、备份证书以备建立互联(主备可并行执行)

主机

BACKUP CERTIFICATE HOST_A_cert TO FILE = ' C:/SQLBackup/cert/HOST_A_cert.cer';

镜像

BACKUP CERTIFICATE HOST_B_cert TO FILE = ' C:/SQLBackup/cert/HOST_B_cert.cer';

4、互换证书

将证书互相更换位置

5、添加登陆名、用户(主备可并行执行)

--主机执行:

CREATE LOGIN HOST_B_login WITH PASSWORD = 'csdn';
CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:/SQLBackup/cert/HOST_B_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];

--备机执行:

CREATE LOGIN HOST_A_login WITH PASSWORD ='csdn' ;
CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'C:/SQLBackup/cert/HOST_A_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];

 

 

l  建立镜像关系

1 手工同步登录名和密码

在主数据库中执行如下语句:

USE master;
select sid,name from syslogins;

 

查找缺少用户名,在备数据库中执行如下语句:

USE master;
exec sp_addlogin 
@loginame = 'csdncn'
@passwd = 'csdncnfwq'
@sid = 0x2960A146663F1745B25904489C80B411;

 

 

2 准备备机数据库

在主机完全备份数据库,再到镜像服务器恢复,一定要选择(RESTOME WITH NOMECOVERY),如图

 

 

 

 

 

 

在主机备份事务日志,同样选择选择(RESTOME WITH NOMECOVERY)在镜像上恢复,完成后如上图,显示正在还原

 

3 建立镜像

主机ip172.26.21.209

镜像ip172.26.21.210

镜像

1 ALTER DATABASE csdncn SET PARTNER = 'TCP://172.26.21.209:5022';

--如果主体执行不成功,尝试在备机中执行如下语句:

1 ALTER DATABASE csdncn SET PARTNER = 'TCP://172.26.21.210:5022';

 

执行后.请刷新数据库.出现(主体,已同步)(镜像,已同步).

 

 

 

 

 

l  测试操作

1、主备互换(这里我也没操作,直接黏贴人家)

--主机执行:

1 USE master;
2
ALTER DATABASE <DatabaseName> SET PARTNER FAILOVER;
3

2、主服务器Down,备机紧急启动并且开始服务

--备机执行:

1 USE master;
2
ALTER DATABASE <DatabaseName> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS;
3

3、原来的主服务器恢复,可以继续工作,需要重新设定镜像

1 --备机执行:
2
USE master;
3
ALTER DATABASE <DatabaseName> SET PARTNER RESUME; --恢复镜像
4
ALTER DATABASE <DatabaseName> SET PARTNER FAILOVER; --切换主备
5

4、原来的主服务器恢复,可以继续工作

--默认情况下,事务安全级别的设置为 FULL,即同步运行模式,而且SQL Server 2005 标准版只支持同步模式。

--关闭事务安全可将会话切换到异步运行模式,该模式可使性能达到最佳。

1 USE master;
2
ALTER DATABASE <DatabaseName> SET PARTNER SAFETY FULL--事务安全,同步模式
3
ALTER DATABASE <DatabaseName> SET PARTNER SAFETY OFF--事务不安全,异步模式
4

 

 

 

 

http://www.cnblogs.com/killkill/archive/2008/05/23/1205792.html

http://www.cnblogs.com/TomYu/archive/2008/07/18/1245774.html

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值