Sql server2005建立鏡像手冊

Sql server2005建立鏡像手冊

 

 

 

 

本人也是在人家帖子上,照着做了一遍sqlserver2005鏡像,轉帖連接在下班,沒遇到什麼問題,因爲是正式庫,所以沒有切換測試.

l  主備實例互通

 

若要對此數據庫進行數據庫鏡像,必須將它更改爲使用完整恢復模式。

1 USE master;
2 ALTER DATABASE <DatabaeName>
 
3 SET RECOVERY FULL;

 

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

主機執行

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'csdn'
;
CREATE CERTIFICATE HOST_A_cert WITH SUBJECT = 'HOST_A certificate'
 , 
START_DATE 
= '11/15/2010';

鏡像

USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'csdn'
;
CREATE CERTIFICATE HOST_B_cert WITH SUBJECT = 'HOST_B certificate'

START_DATE 
= '11/15/2010';

 

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

主機執行

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

 

 

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

主機

BACKUP CERTIFICATE HOST_A_cert TO FILE = ' C:/SQLBackup/cert/HOST_A_cert.cer';

鏡像

BACKUP CERTIFICATE HOST_B_cert TO FILE = ' C:/SQLBackup/cert/HOST_B_cert.cer';

4、互換證書

將證書互相更換位置

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

--主機執行:

CREATE LOGIN HOST_B_login WITH PASSWORD = 'csdn';
CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:/SQLBackup/cert/HOST_B_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];

--備機執行:

CREATE LOGIN HOST_A_login WITH PASSWORD ='csdn' ;
CREATE USER HOST_A_user FOR LOGIN HOST_A_login;
CREATE CERTIFICATE HOST_A_cert AUTHORIZATION HOST_A_user FROM FILE = 'C:/SQLBackup/cert/HOST_A_cert.cer';
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_A_login];

 

 

l  建立鏡像關係

1 手工同步登錄名和密碼

在主數據庫中執行如下語句:

USE master;
select sid,name from syslogins;

 

查找缺少用戶名,在備數據庫中執行如下語句:

USE master;
exec sp_addlogin 
@loginame = 'csdncn'
@passwd = 'csdncnfwq'
@sid = 0x2960A146663F1745B25904489C80B411;

 

 

2 準備備機數據庫

在主機完全備份數據庫,再到鏡像服務器恢復,一定要選擇(RESTOME WITH NOMECOVERY),如圖

 

 

 

 

 

 

在主機備份事務日誌,同樣選擇選擇(RESTOME WITH NOMECOVERY)在鏡像上恢復,完成後如上圖,顯示正在還原

 

3 建立鏡像

主機ip172.26.21.209

鏡像ip172.26.21.210

鏡像

1 ALTER DATABASE csdncn SET PARTNER = 'TCP://172.26.21.209:5022';

--如果主體執行不成功,嘗試在備機中執行如下語句:

1 ALTER DATABASE csdncn SET PARTNER = 'TCP://172.26.21.210:5022';

 

執行後.請刷新數據庫.出現(主體,已同步)(鏡像,已同步).

 

 

 

 

 

l  測試操作

1、主備互換(這裏我也沒操作,直接黏貼人家)

--主機執行:

1 USE master;
2
ALTER DATABASE <DatabaseName> SET PARTNER FAILOVER;
3

2、主服務器Down,備機緊急啓動並且開始服務

--備機執行:

1 USE master;
2
ALTER DATABASE <DatabaseName> SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS;
3

3、原來的主服務器恢復,可以繼續工作,需要重新設定鏡像

1 --備機執行:
2
USE master;
3
ALTER DATABASE <DatabaseName> SET PARTNER RESUME; --恢復鏡像
4
ALTER DATABASE <DatabaseName> SET PARTNER FAILOVER; --切換主備
5

4、原來的主服務器恢復,可以繼續工作

--默認情況下,事務安全級別的設置爲 FULL,即同步運行模式,而且SQL Server 2005 標準版只支持同步模式。

--關閉事務安全可將會話切換到異步運行模式,該模式可使性能達到最佳。

1 USE master;
2
ALTER DATABASE <DatabaseName> SET PARTNER SAFETY FULL--事務安全,同步模式
3
ALTER DATABASE <DatabaseName> SET PARTNER SAFETY OFF--事務不安全,異步模式
4

 

 

 

 

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

http://www.cnblogs.com/TomYu/archive/2008/07/18/1245774.html

 

 

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