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];
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、 建立鏡像
主機ip爲172.26.21.209
鏡像ip位172.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';
執行後.請刷新數據庫.出現(主體,已同步)和(鏡像,已同步).
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