2014年9月9日 星期二

[SQL Server] 自SQL Server 2008 R2 Cluster手動切換SQL Server 2008 R2 Mirror程序

--需求
   本地SQL Server 2008 R2 Cluster兩個Node主機須關機維護,並將服務切換至異地,待本地兩個Node主機完成維護後,需將維護這段期間資料回寫回本地資料庫

--環境說明,請參考以下網址
   SQL Server 2008 R2 容錯移轉叢集 + 鏡像(不具有自動容錯移轉的高安全性模式)

--切換程序
--本地切換到異地
--在本地node1主機上
01. 確認前端已無任何程式或排程連線到SQL Server
02. 將本地node2關機
03. 在[Microsoft SQL Server Management Studio]視窗中點選[新增查詢]
04. 在[新增查詢]視窗執行[sp_who2]確認已無連線
05. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
06. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
07. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
08. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
09. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
10. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
11. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[屬性]
12. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
13. 在[鏡像]頁面按下[容錯移轉]
14. 在[資料庫屬性]視窗中按下[是]
15. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[屬性]
16. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
17. 在[鏡像]頁面按下[容錯移轉]
18. 在[資料庫屬性]視窗中按下[是]

--在異地sqlcmmirror主機上
19. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
20. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
21. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
22. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
23. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
24. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
25. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[屬性]
26. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
27. 在[鏡像]頁面的[伺服器網路位置]按下[暫停]
28. 在[資料庫屬性]視窗中按下[是]
29. 回到[資料庫屬性 - MARGIN_QUOTE]視窗中按下[確定]
30. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[屬性]
31. 在[資料庫屬性 - MARGIN]視窗中的[選取頁面]點選[鏡像]
32. 在[鏡像]頁面的[伺服器網路位置]按下[暫停]
33. 在[資料庫屬性]視窗中按下[是]
34. 回到[資料庫屬性 - MARGIN]視窗中按下[確定]


--在本地node1主機上
35. 將本地node1關機


--異地切換至本地
--在異地sqlcmmirror主機上
01. 確認前端已無任何程式或排程連線到SQL Server
02. 在[Microsoft SQL Server Management Studio]視窗中點選[新增查詢]
03. 在[新增查詢]視窗執行[sp_who2]確認已無連線

--在本地node1主機上
04. 將本地node1開機

--在異地sqlcmmirror主機上
05. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[屬性]
06. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
07. 在[鏡像]頁面的[伺服器網路位置]按下[繼續]
08. 在[資料庫屬性]視窗中按下[是]
09. 回到[資料庫屬性 - MARGIN_QUOTE]視窗中按下[確定]
10. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[屬性]
11. 在[資料庫屬性 - MARGIN]視窗中的[選取頁面]點選[鏡像]
12. 在[鏡像]頁面的[伺服器網路位置]按下[繼續]
13. 在[資料庫屬性]視窗中按下[是]
14. 回到[資料庫屬性 - MARGIN]視窗中按下[確定]
15. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
16. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
17. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
18. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[工作]>[啟動資料庫鏡像監視器]
19. 在[資料庫鏡像監視器]視窗中確認[鏡像狀態]皆為[已同步處理]
20. 在[資料庫鏡像監視器]視窗中確認[未傳送的紀錄]為[0KB]
21. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN_QUOTE(主體,已同步處理)]上右鍵[屬性]
22. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
23. 在[鏡像]頁面按下[容錯移轉]
24. 在[資料庫屬性]視窗中按下[是]
25. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]>[MARGIN(主體,已同步處理)]上右鍵[屬性]
26. 在[資料庫屬性 - MARGIN_QUOTE]視窗中的[選取頁面]點選[鏡像]
27. 在[鏡像]頁面按下[容錯移轉]
28. 在[資料庫屬性]視窗中按下[是]

--在本地node2主機上
29. 將本地node2開機


--整個程序完成後環境確認
--在異地sqlcmmirror主機上
01. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]下確認資料庫狀態為[MARGIN_QUOTE(鏡像,已同步處理/正在還原...)]
02. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcmmirror1]>[資料庫]下確認資料庫狀態為[MARGIN(鏡像,已同步處理/正在還原...)]

--在本地sqlcluster01主機上
03. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]下確認資料庫狀態為[MARGIN_QUOTE(主體,已同步處理)]
04. 在[Microsoft SQL Server Management Studio]視窗中依序展開[sqlcluster01]>[資料庫]下確認資料庫狀態為[MARGIN(主體,已同步處理)]

沒有留言:

張貼留言