SQL Server 2008 R2 Mirroring 建立初探
目標
高可用性Mirroring 的Server端建置介紹
0. 環境介紹
a. AD Server + Storage Server (簡稱Storage Server)
OS : Windows 2008 Server R2 (64bit)
b. SQL Server 1
OS : Windows 2008 Server R2 (64bit)
SQL : SQL Server 2008 R2
c. SQL Server 2
OS : Windows 2008 Server R2 (64bit)
SQL : SQL Server 2008 R2
d. Witness
OS : Windows 2008 Server R2 (64bit)
SQL : SQL Server 2008 R2
1. 概念解紹
鏡像其實不難,但是若能在開始設定時,對相關細節有一個初步的了解,就能夠很快的了解其運作原理。因此,讓我們來看看Mirroring的概念吧!
在高可用性Mirroring中,就是除了主體與鏡像Server外,多了一個見證者(Witness)。
那主體與鏡像Server(可以容錯互換腳色的),我們就稱之為夥伴伺服器(Partner)。
為達成任務,這三個Server必須知道對方的存在,知道對方的角色,這才能能夠相互溝通。
而在SQL Server中,”門牌”這角色就是由”端點”擔任。藉由對方端點,讓我們可以知道如何找到他,這才有機會開始溝通。
既然是門牌,就會有中國人說的…”門神”,用來守護這個門的進出。因此,端點也需要有認證的機制,該機制的細節,我們會在後面說明,我們只需要知道,共有兩種:”國內人士” (Windows認證), “外國人士”(憑證認證)。想想跟出入境大廳的管理方式也沒有甚麼差別…。
在上圖中,由於預設是由”Windodws”認證,因此溝通時候都會用本身的服務啟動者作為連入身分的識別基礎。
至於”端點”的識別方式則是”TCP://Server Name.DomainName:特定Port”。
因為要互通,所以每台Server都必須做以下幾件事情
a. 為遠端Server建立帳號,這樣他們連過來才有權限基礎。
b. 建立端點,這樣別人才能連過來。
c. 授權這些帳號可連接此端點。這樣守門員才會放他們過關。
在Mirroring端,則需要事先針對要Mirroring 的DB 準備好。這樣才能有同步的基礎。
最後我們用圖式輕鬆的來說明不同認證模式下,溝通的差異。
2. 建立鏡像前的準備動作
請先建立好鏡像伺服器端的DB。
P.S.
1. 詳細操作過程請參考後面的”附註”中的” 建立資料庫 for 鏡像”。
2. 這是精靈沒有辦法幫我們做的,所以…請捲起袖子,自己動手。
3. 建立鏡像
建立登入Principle Server(主要伺服器),並選擇需要鏡像的資料庫。
利用精靈設定參數。
參數內容有:
各Server的端點資料,登入權限,執行服務的啟動者。
由於我們要建立”高安全性”,所以選擇需要見證伺服器。
各位可以發現,這些資料都將用於建立”端點”。
但各位是否發現,除了選ServerName外,精靈刻意的確認我們是否能夠登入該Server。
這是因為,在最後精靈必須用這帳號(不論是Windows認證 或 SQL 帳號認證),幫我們到該Server去建立端點與其他Server的登入帳號。
見證端也是相同的設定原理。
在這邊,要指名各Server Instance 的服務啟動者。
這樣精靈才有辦法幫我們到各Server去建立帳號,舉例來說,在主伺服器,精靈就會建立SQLStart2 , SQLStart3 並授予可連接主伺服器的節點。
這資料可以清楚的看到,精靈預計要幫我們做的事情。
啟動時,可能會發生說鏡像端的資料庫未準備完成的錯誤,請參考後面的”附註”中的” 建立資料庫 for 鏡像”。
讓我們看看啟動後的差異。
在主Server,狀態是(主體,已同步處理)
在鏡像Server,狀態是(鏡像,已同步處理/正在還原…)
附註:
1. 建立資料庫 for 鏡像
http://msdn.microsoft.com/zh-tw/library/ms189047.aspx
a. 完整備份
記得,該SQL Instance 啟動服務者,必須對目的目錄有寫入的權限,否則寫入將會失敗。
b. 備份Log
將這兩個檔案複製到鏡像Server,準備復原該資料庫,作為鏡像資料庫的基礎。
記得這邊要選擇With NORECOVERY
完成後會發現,該資料庫的狀態為(正在還原…)。
接下來,還原Log檔案。
記得這邊要選擇With NORECOVERY
完成後該資料庫的狀態為(正在還原…)。
================================================================
以前電腦老師跟我說 : 這條路是一條不歸路。
十五年後,發現.....老師說對了!
以前電腦老師跟我說 : 不要把興趣當壓力。
十五年後,發現.....老師又說對了!
老師在講,我都沒在聽...... Orz