--==================================================================--該文檔主要用于內部配置模板--場景:--主服務器:192.168.3.32--鏡像服務器:192.168.3.33--鏡像數據庫:DemoDB--=================================================================
開始配置
1. 在主服務器和鏡像服務器上創建Master Key
--=========================================================================================================--創建Master key--在主服務器和鏡像服務器上運行USE master;GOIF NOT EXISTS(SELECT 1 FROM sys.symmetric_keys k WHERE k.Name='##MS_DatabaseMasterKey##')BEGINCREATE MASTER KEY ENCRYPTION BY PASSWord ='master@key123'ENDGOIF NOT EXISTS(SELECT 1 FROM sys.databases db WHERE db.[is_master_key_encrypted_by_server]=1)BEGINALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEYENDGO
2. 在主服務器上創建證書并備份
--=========================================================================================================--創建和備份證書--在主服務器上運行IF NOT EXISTS (SELECT 1 FROM sys.certificates C WHERE C.Name='HOST_3_32_cert' )BEGINCREATE CERTIFICATE HOST_3_32_cert WITH SUBJECT ='HOST_3_32_cert',START_DATE = '01/01/2010' , EXPIRY_DATE = '01/01/2199';ENDGOBACKUP CERTIFICATE HOST_3_32_cert TO FILE='D:/HOST_3_32_cert.cer'GO
3. 在鏡像服務器上創建證書并備份
--=========================================================================================================--創建和備份證書--在鏡像服務器上運行IF NOT EXISTS (SELECT 1 FROM sys.certificates C WHERE C.Name='HOST_3_33_cert' )BEGINCREATE CERTIFICATE HOST_3_33_cert WITH SUBJECT ='HOST_3_33_cert',START_DATE = '01/01/2010' , EXPIRY_DATE = '01/01/2199';ENDGOBACKUP CERTIFICATE HOST_3_33_cert TO FILE='D:/HOST_3_33_cert.cer'GO
4. 在主服務器上創建鏡像端點
--=========================================================================================================--創建鏡像專用的端點,并使用證書加密--同一個實例上只能存在一個鏡像端點--在主服務器上運行IF NOT EXISTS(SELECT * FROM sys.endpoints e WHERE e.[Type]=4)BEGINCREATE ENDPOINT [Endpoint_Mirroring]STATE=STARTED ASTCP(LISTENER_PORT=5022)FOR DATABASE_MIRRORING(AUTHENTICATION=CERTIFICATE HOST_3_32_cert, ENCRYPTION=REQUIRED,ROLE=ALL)ENDGO
5. 在鏡像服務器上創建鏡像端點
--=========================================================================================================--創建鏡像專用的端點,并使用證書加密--同一個實例上只能存在一個鏡像端點--在主服務器上運行IF NOT EXISTS(SELECT * FROM sys.endpoints e WHERE e.[Type]=4)BEGINCREATE ENDPOINT [Endpoint_Mirroring]STATE=STARTED ASTCP(LISTENER_PORT=5022)FOR DATABASE_MIRRORING(AUTHENTICATION=CERTIFICATE HOST_3_33_cert, ENCRYPTION=REQUIRED,ROLE=ALL)ENDGO
6. 將主服務器和鏡像服務器上備份的證書相互復制到對方服務器上
7. 在主服務器上創建登陸和用戶以及證書,并授予連接鏡像端點的權限
-----------------------------------------------------------------------在主服務器上創建登陸和用戶以及證書,并授予連接鏡像端點的權限--在主服務器上運行USE master;GOIF NOT EXISTS(SELECT 1 FROM sys.syslogins l WHERE l.[Name] ='HOST_3_33_login')BEGINCREATE LOGIN HOST_3_33_login WITH PASSWORD ='Auto@sql'ENDGOIF NOT EXISTS(SELECT 1 FROM sys.sysusers u WHERE u.[Name]= 'HOST_3_33_User')BEGINCREATE USER HOST_3_33_User FOR LOGIN HOST_3_33_loginENDGOIF NOT EXISTS(SELECT 1 FROM sys.certificates c WHERE c.[Name]= 'HOST_3_33_cert')BEGINCREATE CERTIFICATE HOST_3_33_cert AUTHORIZATION HOST_3_33_User FROM FILE='D:/HOST_3_33_cert.cer'ENDGOGRANT CONNECT ON ENDPOINT::[Endpoint_Mirroring] TO HOST_3_33_loginGO
8.在鏡像服務器上創建登陸和用戶以及證書,并授予連接鏡像端點的權限
-----------------------------------------------------------------------在鏡像服務器上創建登陸和用戶以及證書,并授予連接鏡像端點的權限--在鏡像服務器上運行USE master;GOIF NOT EXISTS(SELECT 1 FROM sys.syslogins l WHERE l.[Name] ='HOST_3_33_login')BEGINCREATE LOGIN HOST_3_33_login WITH PASSWORD ='Auto@sql'ENDGOIF NOT EXISTS(SELECT 1 FROM sys.sysusers u WHERE u.[Name]= 'HOST_3_33_User')BEGINCREATE USER HOST_3_33_User FOR LOGIN HOST_3_33_loginENDGOIF NOT EXISTS(SELECT 1 FROM sys.certificates c WHERE c.[Name]= 'HOST_3_33_cert')BEGINCREATE CERTIFICATE HOST_3_33_cert AUTHORIZATION HOST_3_33_User FROM FILE='D:/HOST_3_33_cert.cer'ENDGOGRANT CONNECT ON ENDPOINT::[Endpoint_Mirroring] TO HOST_3_33_loginGO
9. 在主服務器和鏡像服務器上配置防火墻,開放5022端口
10. 在鏡像服務器上使用Telent來檢查端口情況
telnet 192.168.3.33 5022
11. 在主服務器上使用Telent來檢查端口情況
telnet 192.168.3.32 5022
12. 在主服務器上備份數據庫和日志
--數據庫完整備份和日志備份BACKUP DATABASE DemoDB TO DISK='DemoDB_FULL.BAK' WITH COMPRESSIONBACKUP LOG DemoDB TO DISK='DemoDB_Log.BAK' WITH COMPRESSION
13. 將主服務器上的備份復制到鏡像服務器上,使用WITH NORECOVERY選項還原數據庫備份和日志備份/
--使用數據庫完整備份和日志備份還原--注意修改還原目錄RESTORE DATABASE DemoDB FROM DISK='DemoDB_FULL.BAK' WITH NORECOVERYRESTORE LOG DemoDB FROM DISK='DemoDB_Log.BAK' WITH NORECOVERY
14. 在鏡像服務器上配置伙伴
--------------------------------------------------------------------從服務器設置鏡像USE [master]GOALTER DATABASE DemoDB SET PARTNER='TCP://192.168.3.32:5022'GO
15.在主服務器上配置伙伴
--------------------------------------------------------------------主服務器設置鏡像--如果提示日志不足,請繼續備份還原日志USE [master]GOALTER DATABASE DemoDB SET PARTNER='TCP://192.168.3.33:5022'GO
16. 如果希望日志運行在異步模式下,修改同步模式
--------------------------------------------------------------------在主服務器上運行USE [master]GOALTER DATABASE DemoDB SET PARTNER SAFETY OFFGO
配置結束后,可以使用鏡像監視器來查看
--===================================================================
慣例妹子鎮邪
|
新聞熱點
疑難解答