sqlserver 鏡像 斷開連接 正在恢復+主機服務器關機用備用鏡像


 

如果主機壞了斷開連接就用備機的鏡像數據庫

--主備互換,備機sql命令
 USE master;  
ALTER DATABASE test SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS;

之后會恢復兩分鍾,備機的數據庫就能用了

 

如果主機恢復了就

--原來的主服務器恢復,可以繼續工作,需要重新設定鏡像,第一次可能會報個錯
USE master;  
ALTER DATABASE test SET PARTNER RESUME; --恢復鏡像  
ALTER DATABASE test SET PARTNER FAILOVER; --切換主備

 

 

 

 

 

建立鏡像的步驟在這:https://www.cnblogs.com/xuanlanbinfen/p/10308079.html

也就是重新建立鏡像,主機 建之前先刪除 證書,端點,證書的登錄名,用戶,和備機的證書;備機也重新操作一遍

 

  --刪除證書
   DROP CERTIFICATE HOST_A_cert

--創建證書(主備可並行執行)
USE master;
  CREATE MASTER KEY ENCRYPTION BY PASSWORD ='www.wbsbj000.com';
  CREATE CERTIFICATE HOST_A_cert WITH SUBJECT ='HOST_A ccertificate',
  START_DATE ='01/22/2019';

 

 

 

 --刪除端點    DROP ENDPOINT Endpoint_Mircroring

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

  --刪除端點
   DROP ENDPOINT Endpoint_Mircroring

  --創建連接的端點(主備可並行執行)
  CREATE ENDPOINT Endpoint_Mircroring   
STATE = STARTED   
AS  
TCP ( LISTENER_PORT=5022 , LISTENER_IP = ALL )   
FOR  
DATABASE_MIRRORING   
( AUTHENTICATION = CERTIFICATE HOST_A_cert , ENCRYPTION = REQUIRED ALGORITHM AES , ROLE = ALL ); 

 

--備份證書以備建立互聯(主備可並行執行)
BACKUP CERTIFICATE HOST_A_cert TO FILE = 'E:\SQLBackup\HOST_A_cert.cer';  


--4、互換證書


	  --刪除登錄名
   DROP LOGIN HOST_B_login

     --刪除證書
   DROP CERTIFICATE HOST_B_cert

     --刪除用戶
   DROP USER HOST_B_user


--5、添加登陸名、用戶(主備可並行執行)
 CREATE LOGIN HOST_B_login WITH PASSWORD ='www.wbsbj000.com';
    CREATE USER HOST_B_user FOR LOGIN HOST_B_login;
    CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE ='E:\SQLBackup\HOST_B_cert.cer';
    GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login];

	  --刪除登錄名
   DROP LOGIN HOST_B_login

     --刪除證書
   DROP CERTIFICATE HOST_B_cert

     --刪除用戶
   DROP USER HOST_B_user

   

   --關閉鏡像
	alter database test set partner OFF

	--開啟鏡像
	  ALTER DATABASE test
    SET PARTNER = N'TCP://192.168.1.103:5022'-- boat主機名
    GO

 


免責聲明!

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



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