首页 > 代码库 > 配置SQL Server 2008 镜像

配置SQL Server 2008 镜像

配置SQL Server 2008 镜像

第一步检查基础环境

    由于在非域环境内,所以需要做的检查相对来说多很多,下面按照演示环境,逐个测试下面的条件:

   Windows 账号。

    网络是否能联通,并且端口可用。

    主体服务器和镜像服务器的磁盘配置是否正确。

   SQL Server版本、补丁是否满足镜像要求。

   SQL Server数据库的恢复模式、兼容级别。

   SQL Server上是否有常规的备份作业,特别是日志备份。

    主体服务器和镜像服务器的SQLServer能否互通。

    主体服务器和镜像服务器中是否有共享文件夹。

 

检查磁盘配置是否正确,两台数据库存放路径最好一致

SQL数据库路径检查:

USE master  

go  

SELECT physical_name  

FROM   sys.master_files  

WHERE  database_id = DB_ID(‘RJBDB‘)

 

检查SQL数据库的恢复模式、兼容级别:恢复模式建议为FULL,兼容级别相同

 

USE master  

go  

SELECT name [数据库名] ,  

       recovery_model_desc [恢复模式] ,  

       CASE WHEN [compatibility_level] = 90 THEN ‘2005‘  

            WHEN [compatibility_level] = 100 THEN ‘2008‘  

            WHEN [compatibility_level] > 100 THEN ‘2008+‘  

            ELSE ‘2000 or lower version‘  

       END [兼容级别]  

FROM   sys.databases  

WHERE  name = ‘RJBDB‘

 

修改SQL数据库的恢复模式为FULL

 

USE [master]  

GO  

ALTER DATABASE [AdventureWorks2008R2] SETRECOVERY FULL WITH NO_WAIT  

GO

 

 

 

正式执行

创建证书:

    使用证书搭建镜像的步骤如下:

    创建数据库主密钥(如果主密钥不存在)。

    Master数据库中创建证书并用主密钥加密。

    使用证书授权创建端点(endpoint)。

    备份证书成为证书文件。

    在服务器上创建登录账号,用于提供其他实例访问。

    master库中创建用户,并映射到上一步的登录账号中。

    把证书授权给这些用户。

    在端点上授权。

    设置主体服务器的镜像伙伴。

    设置镜像服务器的主体伙伴。

    配置见证服务器。

 

主机A生成证书操作

 

 

1、创建局数据库主密钥

 

USE master  

GO  

CREATE MASTER KEY ENCRYPTION BY PASSWORD =‘Pa$$w0rd‘; 

 

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

 

USE master  

GO  

CREATE CERTIFICATE Host_A_Cert   

WITH Subject = ‘Host_A Certificate‘,  

Expiry_Date = ‘2026-10-1‘;

 

3、创建证书,并用主密钥加密

 

IF NOT EXISTS ( SELECT  1  

                FROM    sys.database_mirroring_endpoints )  

   BEGIN  

       CREATE ENDPOINT [DatabaseMirroring] STATE = STARTED AS TCP (LISTENER_PORT = 5022,  

           LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION =  

           CERTIFICATE Host_A_Cert, ENCRYPTION = REQUIRED Algorithm AES, ROLE=  

           ALL );  

   END 

 4、备份证书

 

BACKUP CERTIFICATE Host_A_Cert  

TO FILE = ‘D:\2222\Host_A_Cert.cer‘; 

 

5、创建登录账号

 

CREATE LOGIN Host_B_Login WITH PASSWORD =‘Pa$$w0rd‘;

 

6、创建用户,并映射到Step 5中创建的登录账号中

 

CREATE USER Host_B_User For LoginHost_B_Login;

 

在主机B执行相同证书操作:将证书名称设置为Host_B_Cert,登录账户名称为Host_A_Login

 

1、创建局数据库主密钥

USE master  

GO  

CREATE MASTER KEY ENCRYPTION BY PASSWORD =‘Pa$$w0rd‘;

 

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

 

USE master  

GO  

CREATE CERTIFICATE Host_B_Cert   

WITH Subject = ‘Host_B Certificate‘,  

Expiry_Date = ‘2026-10-1‘;

 

3、创建证书,并用主密钥加密

 

IF NOT EXISTS ( SELECT  1  

                FROM    sys.database_mirroring_endpoints )  

   BEGIN  

       CREATE ENDPOINT [DatabaseMirroring] STATE = STARTED AS TCP (LISTENER_PORT = 5022,  

           LISTENER_IP = ALL ) FOR DATABASE_MIRRORING ( AUTHENTICATION =  

           CERTIFICATE Host_B_Cert, ENCRYPTION = REQUIRED Algorithm AES, ROLE=  

           ALL );  

   END 

   

4、备份证书

 

BACKUP CERTIFICATE Host_B_Cert  

TO FILE = ‘D:\2222\Host_B_Cert.cer‘; 

5、创建登录账号

 

CREATE LOGIN Host_A_Login WITH PASSWORD =‘Pa$$w0rd‘;

 

6、创建用户,并映射到Step 5中创建的登录账号中

 

CREATE USER Host_A_User For LoginHost_A_Login;

 

证书导入

将主机生成证书,分别拷入对方主机。

 

主机A导入证书:使用证书授权用户

 

CREATE CERTIFICATE Host_B_Cert  

AUTHORIZATION Host_B_User  

FROM FILE = ‘D:\2222\Host_B_Cert.cer‘;

 

把第五步中的登录账号授权访问端口

 

GRANT CONNECT ONENDPOINT::[DatabaseMirroring] TO [Host_B_Login];

 

主机B导入证书:使用证书授权用户

 

CREATE CERTIFICATE Host_A_Cert  

AUTHORIZATION Host_A_User  

FROM FILE = ‘D:\2222\Host_A_Cert.cer‘;

 

把第五步中的登录账号授权访问端口

 

GRANT CONNECT ONENDPOINT::[DatabaseMirroring] TO [Host_A_Login];

 

在主机B上恢复数据库:将主机的备份文件恢复,选择NoRecovery

技术分享

技术分享

 


恢复完成后执行如下镜像操作

 

B服务器上执行镜像操作


WIN-TH5PJ0QFI67为主机名,可根据自己的需求改成IP


ALTER DATABASE RJBDB  

   SET PARTNER = ‘TCP://WIN-TH5PJ0QFI67:5022‘; 

GO

 

A服务器上执行镜像操作

ALTER DATABASE RJBDB  

   SET PARTNER = ‘TCP://WIN-ITEOQ3DJ4RI:5022‘; 

GO

 

镜像切换操作

正常情况下从在主镜像机器手动切换镜像状态

   ALTER DATABASE RJBDB SET PARTNER FAILOVER

 

强制进行镜像切换

主机服务停止镜像(备机)上执行进行强制切换

   ALTER DATABASE RJBDB SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

 

原主机启动后,镜像状态会显示为挂起状态,可以在原主机机器上执行如下命令,将挂起状态调整为正常状态

   Alter Database RJBDB Set Partner Resume

 

 

参考

http://blog.csdn.net/dba_huangzj/article/details/27652857


本文出自 “计算机网络技术” 博客,请务必保留此出处http://370220760.blog.51cto.com/6469179/1855430

配置SQL Server 2008 镜像