標籤:名稱 class author 執行個體 技術分享 使用者 主伺服器 connect listen
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/
Sqlserver雙機熱備文檔(無域)