Sqlserver雙機熱備文檔(無域)


1. 配制環境

OS:Win7    DB:SQL Server R2  

 

2. 基本配制

1.      開啟sqlServer服務如下圖-1

                圖-1

 

2.      開啟sqlServer的tcp/ip協議,在Start -> program -> sqlServerR2 -> ConfigTool -> ConfigManagement,如下圖-2

 

 

 
 

 

圖-2

注:開啟此服務后,需要重啟sqlServer服務才能生效。

 

3.      在需要做備份的機器(主、從和可選的見證)上建立相同的登錄用戶名密碼。

 

4.      打開鏡像用到的5022端口。在win窗口中輸入控制面板\系統和安全\Windows 防火牆,在彈出的窗口中點擊[高級設置],在入站和出站規則中加入5022端口。

 

5.      開啟數據庫RemoteDacEnabled屬性。右鍵點擊[數據庫實例] - > 選擇方面,在彈出的窗口中選擇[外圍應用配制器] 把RemoteDacEnabled屬性設置為true。如圖-3

 

圖-3

6.      在三台機器上建立同一個登錄名和密碼

點擊數據庫實例的下面的安全性,右鍵點擊新建登錄名,在三台機器上建相同的登錄名和密碼,主要是為了應用程序在連接數據中使用。

 

3.備份還原數據庫

將主服務器中的數據庫完全備份與日志備份到同一目錄同一文件中。右鍵[數據庫名稱] -> 點擊[任務],選擇備份,先做完全備份,再做日志備份。在備庫中還原主庫的備份內容。右鍵[數據庫名稱] ->點擊[任務],選擇還原。如圖-4

 


   

圖-4

 

4. 開始熱備

實現互通可以使用域或證書來實現,考慮實現的簡單,以下選取證書的方式實現。注意:實現“主備數據庫實例互通”的操作只需要做一次,例如為了將兩個 SQL Server 2008的實例中的3個數據庫建成鏡像關系,則只需要做一次以下操作就可以了;或者這樣理解:每一對主備實例(不是數據庫)做一次互通。

1、創建證書(主備可並行執行)

--主機執行:

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'masterWord';
CREATE CERTIFICATE HOST_pri_cert WITH SUBJECT = 'HOST_primary certificate' , 
START_DATE = '01/11/2011', EXPIRY_DATE = '01/11/2013';

--備機執行:

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='masterWord';
CREATE CERTIFICATE HOST_min_cert WITH SUBJECT ='HOST_minor certificate' , 
START_DATE = '01/11/2011', EXPIRY_DATE = '01/11/2013';
 
--見證服務器執行
 
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='masterWord';
CREATE CERTIFICATE HOST_pro_cert WITH SUBJECT = 'HOST_Witness certificate' , 
START_DATE = '01/11/2011', EXPIRY_DATE = '01/11/2013';
 
 
 

2、創建連接的端點(主備可並行執行)

--主機執行:

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

 

3、備份證書以備建立互聯(主備可並行執行)

--主機執行:

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

   --備機執行:

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

 --見證服務器上執行

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

 

4、互換證書

將備份到D:\的證書進行互換,即把HOST_pri_cert.cer,HOST_pro_cer.cert復制到備機的D:\,把HOST_min_cert.cer, HOST_pro_cer.cert復制到主機的D:\,把HOST_pri_cert.cer,HOST_min_cert.cer復制到見證機的D:\

5、添加登陸名、用戶(主備可並行執行)

--主機執行:

CREATE LOGIN HOST_min_login WITH PASSWORD ='masterWord';
CREATE USER HOST_min_user FOR LOGIN HOST_min_login;
CREATE CERTIFICATE HOST_min_cert AUTHORIZATION HOST_min_user FROM FILE ='D:\HOST_min_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_min_login];

 

CREATE LOGIN HOST_pro_login WITH PASSWORD ='masterWord';
CREATE USER HOST_pro_user FOR LOGIN HOST_pro_login;
CREATE CERTIFICATE HOST_pro_cert AUTHORIZATION HOST_pro_user FROM FILE ='D:\HOST_pro_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_pro_login];

 

--備機執行:

CREATE LOGIN HOST_pri_login WITH PASSWORD ='masterWord';
CREATE USER HOST_pri_user FOR LOGIN HOST_pri_login;
CREATE CERTIFICATE HOST_pri_cert AUTHORIZATION HOST_pri_user FROM FILE ='D:\HOST_pri_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_pri_login];

     

CREATE LOGIN HOST_pro_login WITH PASSWORD ='masterWord';
CREATE USER HOST_pro_user FOR LOGIN HOST_pro_login;
CREATE CERTIFICATE HOST_pro_cert AUTHORIZATION HOST_pro_user FROM FILE ='D:\HOST_pro_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_pro_login];

     

      --見證服務器上執行

CREATE LOGIN HOST_min_login WITH PASSWORD ='masterWord';
CREATE USER HOST_min_user FOR LOGIN HOST_min_login;
CREATE CERTIFICATE HOST_min_cert AUTHORIZATION HOST_min_user FROM FILE ='D:\HOST_min_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_min_login];

   

CREATE LOGIN HOST_pri_login WITH PASSWORD ='masterWord';
CREATE USER HOST_pri_user FOR LOGIN HOST_pri_login;
CREATE CERTIFICATE HOST_pri_cert AUTHORIZATION HOST_pri_user FROM FILE ='D:\HOST_pri_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_pri_login];

 

6、 配制鏡像

右鍵點擊需要鏡像的數據庫,點擊[任務] ->選擇[鏡像],點擊【配置安全性】,如下圖:

會出現一個配置數據庫安全性的向導

然后依次點擊下一步,由於是在三台機器上做鏡像,因此鏡像端口都按默認的5022,如果在一台機器上做,需要使用不同的端口號

由於使用的是證書的方式,不是使用域名的方式,因此下圖中的服務賬戶名都為空

繼續下一步

 

點擊完成,然后點擊開始鏡像就完成了數據庫鏡像的設置

5. 測試

 

6. 參考

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

 

http://msdn.microsoft.com/zh-cn/library/ms187798.aspx

 

http://liulike.blog.51cto.com/1355103/339183/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM