標籤:情境 記錄備份 sqlserver 保護 failover partner 圖片 三種模式 狀態
一、什麼是資料庫鏡像
基本軟體的高可用性解決方案
快速的容錯移轉恢複(3秒轉移),低硬體成本
基於資料庫層級的實現
二、資料庫鏡像中的伺服器角色
主體伺服器
承載主體資料庫
接受使用者串連和交易處理請求
鏡像伺服器
承載鏡像資料庫
作為主體資料庫的熱備份(主體資料庫的變化及時傳到鏡像資料庫中)
僅在容錯移轉後接受使用者串連,交易處理請求。
見證伺服器(監視)
監視伺服器狀態和串連性,實現自動自動容錯移轉
三、資料庫鏡像會話
會話初始化
鏡像請求交易記錄記錄,與主體伺服器實現同步
會話過程
主體伺服器將日誌記錄傳輸給鏡像伺服器
各個角色之間相互監視工作階段狀態
會話終結
發生容錯移轉
管理員終止資料庫鏡像
四 資料庫鏡像三種模式
| 操作模式 |
事務安全 |
傳輸機制 |
是否需要仲裁 |
見證伺服器 |
容錯移轉類型 |
| 高可用 |
Full |
同步 |
Y |
Y |
自動或手動 |
| 進階別保護 |
Full |
同步 |
Y |
N |
僅手動 |
| 高效能 |
OFF |
非同步 |
N |
N/A |
僅強制 |
高可用:要求高服務可用性, 要求實現自動容錯移轉,確保資料的完整。
進階別保護模式: 資料完整性要求,不要求自動容錯移轉,對服務的可用性要求較低。
高效能保護模式:主體伺服器和鏡像伺服器距離很遠,通訊鏈路有明顯的延遲,對效能的事要求高於資料的完整性。
五 配置示範
環境: 資料庫版本 sqlserver 2012 系統版本windows server 2008 R2 域管理
mirroring測試情境
主體伺服器--FETCHINGDATA49\MSSQLSERVERTWO tcp 5022 連接埠
鏡像伺服器--172.168.18.132\MSSQLSERVER2012 tcp 5022 連接埠
見證伺服器--FETCHINGDATA49
鏡像操作模式: 高可用. 事務安全:Full,傳輸機制:同步,是否仲裁:Y,見證伺服器:Y,容錯移轉:自動。
--步驟(1) 【主體伺服器】設定為完整復原模式, 做一次完整備份和記錄備份ALTER DATABASE Mirroring_Test SET RECOVERY FULL backup database Mirroring_Test to disk=‘C:\data\Mirroring_Test.bak‘ with initbackup log Mirroring_Test to disk=‘C:\data\Mirroring_Test.bak‘
--步驟(2) 【鏡像伺服器】還原到鏡像庫上(將備份檔案複製到鏡像伺服器目錄還原)--運行下面語句,使之建立鏡像資料庫,處於正在還原狀態並且是覆蓋。 restore database Mirroring_Test from disk=‘D:\data\Mirroring_Test.bak‘ with file=1, move N‘Mirroring_Test‘ To N‘D:\data\Mirroring_Test.mdf‘, move N‘Mirroring_Test_log‘ To N‘D:\data\Mirroring_Test_log.ldf‘, norecovery, replace restore log Mirroring_Test from disk=‘D:\data\Mirroring_Test.bak‘ with file=2,norecovery
在各伺服器建立各連接埠
--步驟(3) 建立端點 【主體伺服器】建立端點用於夥伴通訊,啟用端點create endpoint Mirroring_Testas TCP (listener_port=5022)for database_mirroring(role=partner,Encryption=supported)
-- 【鏡像伺服器】建立端點用於夥伴通訊,啟用端點create endpoint Mirroring_Testas TCP (listener_port=5022)for database_mirroring(role=partner,Encryption=supported)
--【見證伺服器】建立端點用於見證通訊,啟用端點create endpoint Mirroring_Testas TCP (listener_port=5023)for database_mirroring(role=witness,Encryption=supported)
步驟4 建立connect(串連)許可權。為三個資料庫執行個體設定相同的賬戶名稱和口令
步驟(5) 【主體伺服器】配置鏡像嚮導
測試
--測試手動容錯移轉(在主體伺服器上執行)
ALTER DATABASE Mirroring_Test SET PARTNER failover
--測試自動容錯移轉(如在主體資料庫伺服器切斷網線,或停止執行個體)
--測試資料同步在主體伺服器上改動資料,在鏡像資料庫上建立快照查詢
CREATE DATABASE snap_Mirroring_Test
ON (NAME=Mirroring_Test,FILENAME=‘D:\Snap_Mirroring_Test.snap‘)
AS SNAPSHOT OF Mirroring_Test
--刪除快照
DROP DATABASE snap_Mirroring_Test
sql server 高可用鏡像