SQL server 2008 r2 镜像配置

准备条件

  1. 服务器规划
服务器角色机器名/角色名软件IP
主体服务器RepAsql server 2008 r2192.168.0.10
镜像服务器RepBsql server 2008 r2192.168.0.20
见证服务器win7sql server 2008 r2192.168.0.30

2.服务器相关设置

1、创建文件夹 Certifications 用来存放认证证书 ShareFolders 用来存放共享文件,方便服务器之间传递文件2、保证主体服务器与镜像服务器的数据文件夹路径相同3、保证数据库的恢复模式为FULL

使用证书配置镜像,并备份RepA的数据库,还原到RepB上

  1. 创建数据库主密钥

    USE master;GOCREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘Pa$$w0rd‘;/*删除主密钥USE master;DROP MASTER KEY使用相同方式在RepB闯将主密钥

2、创建证书并用主密钥加密

 USE master; GO CREATE CERTIFICATE Host_A_Cert WITH Subject = ‘Host_C Certificate‘, Expiry_Date = ‘99991231‘ /* 删除证书 USE master; DROP CERTIFICATE HOST_A_Cert 在RepB使用同样的方法创建证书HOST_B_Cert

3、创建端点(也就是监听)

 CREATE ENDPOINT EDP_Mirror STATE = STARTED AS TCP( LISTENER_PORT = 5022, -- 镜像端点使用的通信端口 LISTENER_IP = ALL) -- 侦听的IP地址 FOR DATABASE_MIRRORING( AUTHENTICATION = CERTIFICATE Host_A_Cert, -- 证书身份验证 ENCRYPTION = DISABLED, -- 不对传输的数据加密,如果需要加密,可以配置为 SUPPORTED 或 REQUIRED, 并可选择加密算法 ROLE = ALL) -- 端点支持所有的数据库镜像角色, 也可以设置为 WITNESS(仅见证服务器),或 PARTNER(仅镜像伙伴) 在RepB使用相同的方法,×××名,创建端点

4、备份证书

 BACKUP CERTIFICATE Host_A_Cert TO FILE = ‘C:\ShareFolders\Host_A_Cert.cer‘; 在RepB上执行相同的操作,备份Host_B_Cert RepA 和 RepB 的Certifications文件夹上都要有所有服务器的证书,可以通过共享文件夹复制

5、创建用户和登录账号

 创建登录账号给镜像服务器 USE master; CREATE LOGIN Host_B_Login WITH PASSWORD = ‘Pa$$w0rd‘; 创建用户并映射到登录账号上 CREATE USER Host_B_User For Login Host_B_Login; 在RepB上使用相同的方法给RepB创建用户和登录账号,注意更改名称

6、使用证书授权用户

 创建一个新的证书,并用从伙伴服务器复制来的证书导入,然后授权上面创建的账号 CREATE CERTIFICATE Host_B_Cert AUTHORIZATION Host_B_User FROM FILE = ‘C:\Certifications\Host_B_Cert.cer‘; 在RepB上使用同样的操作,注意更改名称

7、登录账号授权访问端口

 GRANT CONNECT ON ENDPOINT::EDP_Mirror TO Host_B_Login; 在 RepB上使用同样的操作,注意更改名称

8、备份还原数据库

完整备份RepA上的数据库,并以Norecovery选项还原到RepB(使用还原文件和文件组)

9、启动镜像

 注意顺序,现在RepB上执行 ALTER DATABASE MirrorDB SET PARTNER = ‘TCP://RepA:5022‘; GO 然后在RepA上执行 ALTER DATABASE MirrorDB SET PARTNER = ‘TCP://RepB:5022‘; GO 完毕,接下来是配置见证服务器

配置见证服务器

1、与RepA和RepB类似配置见证服务器的主密钥证书,端点,以及授权。并复制证书,保证每台服务器都有三台服务器的证书

2、在RepA和RepB上执行下面语句,为见证服务器创建端点权限

USE master;CREATE LOGIN Host_C_Login WITH PASSWORD = ‘Pa$$w0rd‘;GOCREATE USER Host_C_User For Login Host_C_Login;GOCREATE CERTIFICATE Host_C_CertAUTHORIZATION Host_C_UserFROM FILE = ‘C:\Certifications\Host_C_Cert.cer‘;GOGRANT CONNECT ON ENDPOINT::EDP_Mirror TO Host_C_Login;GO

3、主体服务器RepA加入见证服务器

 ALTER DATABASE MirrorDB SET WITNESS = ‘TCP://win7:5022‘

相关文章