[Windows][SQL]架設 DB Mirroring 的環境在 Windows 2012 ( 1/2 )

[SQL]架設 DB Mirroring 的環境在 Windows 2012 ( 1/2 )

前一陣子有朋友提到公司內的資料庫希望能有個快速備援的機制,原本是跟他介紹 SQL Server 2012 AlwaysON 的功能,看起來是滿足他們的需求,但因為要換到 Enterprise 的版本才能使用,這樣算下來可能費用還蠻高的,因此退而求其次,來使用 Standard 版本的 DB Mirroring ( 資料庫鏡像 )。因為剛好新的測試環境是架設 Windows Server 2012 的 AD,所以也順便實測 gMSA ( Group Managed Service Accounts ) 的使用。在這個部分注意一下,當如果要使用 gMSA 的時候,Member Server 的這些電腦也必須要 Windows Server 2012 或 Windows 8 的環境才可以,Windows 2008/2008R2 則無法使用。

 

環境預備

首先當我們先把要安裝的兩台電腦先安裝好作業系統,並且把電腦加入到網域內

image

 

建立一個安全性的群組 「DB」,注意該群組帳號在建立的的時候要選擇是「網域本機」,而類型要選擇「安全性」的才可以。

image

建立好之後要記得把將預計做鏡像的主機給加入:

image

 


 

群組受管理的服務帳戶

如果是第一次使用的話,則使用 PowerShell 的「Add-KdsRootKey」指令,在 AD 上建立 Root Key

image

 

使用 PowerShell 的「New-ADServiceAccount」的指令,建立一個群組受管理服務帳號 "SQLSrv",並且指定 "DB" 群組的成員可以使用該帳號。

image

 

接著要到 Member Server 上指定可以使用 MSA 帳號,因為預設是沒有安裝此部分的管理模組,因此透過「新增角色及功能精靈」將 PowerShell 的 AD 管理模組給安裝起來。

image

 

接著就可以使用 PowerShell 的指令「Install-ADServiceAccount」在兩台預計要使用群組受管理帳號的電腦上執行,如果前面相關的部分都設定無誤的話,那麼到這一步應該都沒有問題,如果會出現錯誤訊息的話,可能就要檢查一下相關步驟是否有遺漏。

image


 

Managed Service Accounts GUI

目前在 MSA 帳號的管理和維護,微軟既有的 GUI 介面上既不能維護,又不能查看相關細節,要使用只能使用 PowerShell 的指令,用起來實在不是那麼的便利,而在網路上查看相關設定說明的時候,無意之間找到一個不錯的工具 – Managed Service Accounts GUI ( http://www.cjwdev.co.uk/Software/MSAGUI/Info.html ),一套 Free 的小工具,如果不是那麼喜歡使用 PowerShell 指令的朋友,可以試試看。

 

這套工具可以支援 Windows 2008 R2 的 Managed Service Accounts,也可以同時支援 Windows 2012 的 Group Managed Service Accounts,因此可以用這套來彌補微軟既有工具的不足。

image