SQL SERVER2008 鏡像

 
兩臺服務器,沒有域環境,如何配置SQL SERVER2008鏡像呢?

詳細過程如下:

SQL 2008配置有證書鏡像的步聚共有四步:

1.      配置出站連接:創建主祕鑰、證書和端點,備份證書並拷貝到另一臺服務器

2.      配置入站連接:分配登陸用戶、賦予登陸用戶connect本機端點的權限

3.      創建鏡像數據:備主數據庫,還原鏡像數據庫

4.      配置鏡像夥伴關係:順序:鏡像----主體

5.      測試鏡像:切換鏡像

運行環境:

            主數據庫服務器:     192.168.1.2

            鏡像數據庫服務器:   192.168.1.3

 以下是測試的詳細腳本:

=============================================================

一.配置出站:配置完證書後,分別互存到各數據庫服務器的對應路徑,注意端口

=============================================================

配置HOST_2出站

USE master;

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'PassWord123';

GO

CREATE CERTIFICATE HOST_2_cert

   WITH SUBJECT = 'HOST_2 certificate for database mirroring';

GO

CREATE ENDPOINT Endpoint_Mirroring

   STATE = STARTED

   AS TCP (

      LISTENER_PORT=5023

      , LISTENER_IP = ALL

   )

   FOR DATABASE_MIRRORING (

      AUTHENTICATION = CERTIFICATE HOST_2_cert

      , ENCRYPTION = REQUIRED ALGORITHM AES

      , ROLE = ALL

   );

GO

BACKUP CERTIFICATE HOST_2_cert TO FILE = 'D:\CERT\HOST_2_cert.cer';

GO

配置HOST_3出站

USE master;

 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'PassWord123';

GO

 CREATE CERTIFICATE HOST_3_cert

   WITH SUBJECT = 'HOST_3 certificate for database mirroring';

GO

 CREATE ENDPOINT Endpoint_Mirroring

   STATE = STARTED

   AS TCP (

      LISTENER_PORT=5023

      , LISTENER_IP = ALL

   )

   FOR DATABASE_MIRRORING (

      AUTHENTICATION = CERTIFICATE HOST_3_cert

      , ENCRYPTION = REQUIRED ALGORITHM AES

      , ROLE = ALL

   );

GO

 BACKUP CERTIFICATE HOST_3_cert TO FILE = 'D:\CERT\HOST_3_cert.cer';

GO

=============================================================

二.入站鏡像連接配置服務器:注意證書的路徑,登錄賬戶的命名

=============================================================

 HOST_2的入站配置:

USE master;

CREATE LOGIN HOST_3_LOGIN

   WITH PASSWORD = 'mainone%123';               

GO

USE master;

CREATE USER HOST_3_USER FOR LOGIN HOST_3_LOGIN;

GO

CREATE CERTIFICATE HOST_3_cert

   AUTHORIZATION HOST_3_USER

   FROM FILE = 'D:\CERT\HOST_3_cert.cer';

GO

GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO HOST_3_LOGIN

GO

=============================================================

HOST_3的入站配置:

USE master;

CREATE LOGIN HOST_2_LOGIN

   WITH PASSWORD = 'mainone%123';

GO

USE master;

CREATE USER HOST_2_USER FOR LOGIN HOST_2_LOGIN;

GO

CREATE CERTIFICATE HOST_2_cert

   AUTHORIZATION HOST_2_USER

   FROM FILE = 'D:\CERT\HOST_2_cert.cer';

GO

GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO HOST_2_LOGIN

GO

=============================================================

三.配置數據庫:備份包括數據庫和日誌

=============================================================

備份主數據庫HOST_2

USE master;

GO

ALTER DATABASE DBNAME

SET RECOVERY FULL;

GO

BACKUP DATABASE DBNAME

    TO DISK = 'e:\DBNAME.bak'

    WITH FORMAT

GO

BACKUP LOG DBNAME

    TO DISK = 'e:\DBNAME_log.bak'

GO

 還原鏡像數據庫HOST_3

RESTORE DATABASE DBNAME

    FROM DISK = 'E:\DBNAME.bak'

    WITH NORECOVERY

GO

RESTORE LOG DBNAME

    FROM DISK = 'E:\DBNAME_log.bak'

    WITH FILE=1, NORECOVERY

GO

=============================================================

四.配置鏡像:順序:鏡像----主體

=============================================================

先執行HOST_3服務器:

ALTER DATABASE DBNAME

    SET PARTNER = 'TCP://192.168.1.2:5023'

GO

再執行HOST_2服務器:

ALTER DATABASE DBNAME

    SET PARTNER = 'TCP://192.168.1.3:5023' ,SAFETY OFF(此處添加“SAFETY OFF”會引起衝突,我在此處去除了)

 GO

 =============================================================

五.測試鏡像:在主數據庫上執行以下代碼可以強制將鏡像數據庫啓用爲主數據庫,可以查看數據同步的完整性。

=============================================================

主數據庫HOST_2執行:

USE master;

ALTER DATABASE DBNAME

SET PARTNER FAILOVER

GO

 2死機之後,在3 上執行 :強行將鏡像服務器提升爲主服務器:

ALTER DATABASE  DBNAME

SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章