SQLServer2005镜像配置基本概念
我理解的SQLServer2005镜像配置实际上就是由三个服务器(也可以是同一服务器的三个SQL实例)组成的一个保证数据的环境,分别是:主服务器、从服务器、见证服务器。
主服务器:数据存放的地方
从服务器:数据备份的地方(即:主服务器的镜像)
见证服务器:动态调配主/从服务器的第三方服务器
环境介绍
首先介绍一下配置的环境:
本次配置使用的是三个独立的服务器(A、B、C三台电脑)。
A:主服务器,IP:192.168.0.2
B:从服务器,IP:192.168.0.3
C:见证服务器,IP:192.168.0.4
三台电脑系同一局域网内,系统均是WindowsServer2003,数据库是SQLServer2005
开始SQLServer2005镜像配置
一、在A、B、C中新配置一个用户(DBUser),该用户要具有SQLServer的所有使用权限,我这里是将该用户添加到Administrators组。
二、在A、B、C中执行以下SQL语句:
在A、B、C中创建对象
1USEmaster
2GO
3
4CREATEENDPOINTEndpoint_Mirroring
5STATE=STARTED
6ASTCP(
7LISTENER_PORT=5022监听端口,任意指定(三个服务器的端口最好是一致)
8,LISTENER_IP=ALL监听IP地址,网内所有地址
9)
10FORDATABASE_MIRRORING(
11AUTHENTICATION=WINDOWS认证方式,Windows
12,ROLE=ALL所有角色
13);
14GO
三、再在A、B、C中执行以下SQL语句:
1GRANTCONNECTONENDPOINT::Endpoint_MirroringTO[TestDBAdministrators];
四、 在A中新建数据库(TestDB),然后先备份该数据库得到BAK文件(TestDB.bak),再备份该数据库的事务日志得到TRN文件 (TestDB.trn),将此BAK和TRN文件发送到B中去,由B还原,在使用企业管理器还原的时候,在“选项”里面的“恢复状态”中选择第二项, 即:不对数据库执行任何操作,不会滚未提交的事务,可以还原其它事务日志(A)。(RESTOREWITHNORECOVERY)。
五、在A、B中执行以下SQL语句:
添加各个服务器到环境中来
1A服务器(主服务器)中执行:
2ALTERDATABASETestDBSETPARTNER=N‘TCP://192.168.0.3:5022‘;将从服务器添加到环境中来
3ALTERDATABASETestDBSETWITNESS=N‘TCP://192.168.0.4:5022‘;将见证服务器添加到环境中来
4
5B服务器(从服务器)中执行:
6ALTERDATABASETestDBSETPARTNER=‘TCP://192.168.0.2:5022‘;将从服务器连接到主服务器
转载于:https://blog.51cto.com/tetop/742648