鏡像作業模式共有兩種
第一種 模式 (「High-Safety Mode」) 可支援同步作業。在高安全性模式下,當工作階段開始時,鏡像伺服器會儘快將鏡像資料庫與主體資料庫進行同步處理。一旦資料庫同步處理完成之後,交易將同時在兩個夥伴上進行認可,代價是會增加交易延遲性,需要「Witness」伺服器。
第一種 模式 (「High-Safety Mode」) 可支援同步作業。在高安全性模式下,當工作階段開始時,鏡像伺服器會儘快將鏡像資料庫與主體資料庫進行同步處理。一旦資料庫同步處理完成之後,交易將同時在兩個夥伴上進行認可,代價是會增加交易延遲性,需要「Witness」伺服器。
第二種 模式 (「High-Performance Mode」) 則以非同步方式執行。鏡像伺服器會盡量跟上主體伺服器所傳送的記錄。鏡像資料庫可能會稍微落後主體資料庫。然而,在資料庫之間的間距通常很小。但是,若主體伺服器的工作負載很大,或鏡像伺服器的系統超載時,此差距就會變大,不需要「Witness」伺服器。
實作「High-Performance Mode」(無網域) 架構圖,如下
1. 設定「防火牆」,「SQL-1」 與 「SQL-2」
啟用「檔案及印表機共用」
啟用「TCP - 1433、5022」
啟用「檔案及印表機共用」
在「防火牆」內「進階設定」設定「TCP - 1433、5022」
2. 「SQL-1」 與 「SQL-2」
輸入「Services.msc」=>「SQL Server (MSSQLSERVER)」服務 => 修改 帳戶 權限為「.\administrator」(本機帳戶) 並「重新啟動」
PS
「SQL-1」與「SQL-2」需要使用相同「Local\Account」
輸入「本機」帳戶 與「密碼」
「重新啟動」服務
3. 「SQL Server Data Base (SQL-1)」(Principal) 需要 匯出「完整備份」、「交易紀錄」
需要檢查「DataBase」來源「復原模式」必須為「完整」
進行「資料庫」備份
備份「完整模式」,備份出來檔案需要自行加入「副檔名」.bak
備份「交易紀錄」,備份出來檔案需要自行加入「副檔名」.bak
4.「SQL Server Data Base (SQL-2)」(Mirror) 需要 匯入「完整備份」、「交易紀錄」,還原選項為「Restore With Norecovery」
複製「備份檔」(完整)、(交易紀錄),放置「SQL-2」
點選「資料庫」節點,進行「還原資料庫」
點選「裝置」=>「...」=> 選擇「Full.bak」、「Full_Log.bak」
點選「選項」頁籤 => 復原狀態「Restore With Norecovery」
回復完成,顯示「正在還原....」,這是 OK
6. 設定「SQL Server Data Base」(Principal),啟用「鏡像」
透過「SQL Server Management Studio」(SSMS),登入「SQL-1」 並加入「SQL-2」
點選「SQL-1」來源 資料庫,啟用「鏡像」(Mirror)
點選「設定安全性」
點選「下一步」
不需要「見證伺服器」(Witness Server)
主體「伺服器」選擇「SQL-1」
會自動帶上「SQL-2」,但是需要透過「連接」進行「驗證」
使用「Windows 驗證」
PS
注意「SQL-1」、「SQL-2」帳號 密碼 需要一致
驗證過後,點選「下一步」
由於「Mirror」環境沒有「網域」(Domain),直接保留「空白」即可。
點選「完成」
驗證通過 ^_^
點選「啟動鏡像」
點選「是」
成功設定完成「High-Performance Mode」Mirror
「SQL-1」為「Principal」,「SQL-2」為「Mirror」
7. 檢視「資料庫鏡像監視器」
點選「啟動資料庫鏡像監視器」,可以顯示「資料庫」複寫狀態
8. 如何移轉「Principal」與「Mirror」DataBase
在「鏡像」功能,可以做「容錯移轉」
點選「是」
使用「F5」 刷新,狀態 就可以即時改變「Principal」與「Mirror」
如果您有遇到此錯誤訊息,記得啟用 (SQL-1)與(SQL-2)「檔案及印表機共用」本機防火牆。
參考資料
「CaryHsu - 學無止盡」-「安裝 SQL Server 時,遇到NetFx3錯誤處理方式」
「CaryHsu - 學無止盡」-「SQL Server - 如何建立 Database Mirroring」
「51cto.com」-「SQL2012 镜像部署」
「51cto.com」-「实现 SQL Server 2012 镜像」
「CaryHsu - 學無止盡」-「SQL Server - 如何建立 Database Mirroring」
「51cto.com」-「SQL2012 镜像部署」
「51cto.com」-「实现 SQL Server 2012 镜像」
1 則留言:
感謝您的文章,
讓我可以不用透過witness去做Mirroring的動作!
張貼留言