SQL Server 型叢集組態
Microsoft AppFabric 1.1 for Windows Server 讓您可以選擇使用 SQL Server 資料庫來儲存叢集組態設定。「AppFabric 設定精靈」會自動準備適合管理叢集組態的目標資料庫。然後 AppFabric 會將此資料庫當成定義快取叢集、快取主機與具名快取的主要參考點。叢集中的所有快取伺服器都必須能夠存取叢集組態資料庫。
如需準備 SQL Server 資料庫以做為叢集組態儲存位置的詳細資訊,請參閱 Windows Server AppFabric 安裝指南 (https://go.microsoft.com/fwlink/?LinkId=169172)。
在設定 AppFabric 快取 功能期間,您可以選擇指定現有的 SQL Server 資料庫,或選擇讓精靈在指定的 SQL Server 上建立新資料庫。叢集中的所有快取伺服器都必須能夠存取叢集組態資料庫。
提示
預設不會自動啟動 AppFabric 快取 快取服務。您必須從系統管理 Windows Powershell 命令提示字元使用 Start-CacheCluster
命令來啟動服務。不過,當在組態儲存區使用 SQL Server 時,您可以將每部快取主機上的服務變更為自動啟動。做法是在每部快取伺服器上,修改 [服務] 系統管理員工具中的 [AppFabric 快取 快取服務] 內容,以將啟動類型變更為自動。
可用性考量
叢集組態儲存位置可以是分散式快取系統的單一失敗點。因此,建議您採取步驟,提高儲存叢集組態設定的 SQL Server 資料庫可用性。其中一個選項是使用 Microsoft Windows Server 2008 容錯移轉叢集 (https://go.microsoft.com/fwlink/?LinkId=130692) (可能為英文網頁),主控快取叢集組態儲存位置的「叢集」資料庫資源。
另一個選項是使用 SQL Server 資料庫鏡像。如需詳細資訊,請參閱使用資料庫鏡像 (https://go.microsoft.com/fwlink/?LinkId=190691) (可能為英文網頁)。請注意,要使用資料庫鏡像有三個必要條件:
將 Failover Partner 屬性新增到連接字串。
在夥伴伺服器上,新增每部快取主機的電腦帳戶做為 SQL Server 登入。例如,如果
Domain1
網域中的電腦名稱是CacheServer1
,則電腦帳戶是Domain1\CacheServer1$
。主要 SQL Server 會自動完成這個步驟,但您必須手動為容錯移轉夥伴伺服器完成這個步驟。在夥伴伺服器上,新增每部快取主機的電腦帳戶做為鏡像組態資料庫的使用者。這個使用者必須具有 db_datareader 與 db_datawriter 權限。
如果已設定快取叢集,您可以使用 Windows PowerShell 命令手動修改連接字串。在每部快取主機電腦上執行下列步驟:
開啟 Windows PowerShell 命令視窗,並執行
Use-CacheCluster
命令。執行
Remove-CacheHost
與Remove-CacheAdmin
命令。執行
Add-CacheHost
命令,指定具有 Failover Partner 屬性的新連接字串。例如:Add-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2" -Account "NT Authority\Network Service"
執行
Add-CacheAdmin
命令,指定具有 Failover Partner 屬性的新連接字串。例如:Add-CacheAdmin -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"
提示
您可以下載指令碼 ChangeConnString.ps1,以在所有快取主機之間自動化連接字串變更。如需詳細資訊,請參閱 ChangeConnString.ps1 下載 (可能為英文網頁)。
注意
快取叢集系統管理員必須具備快取叢集組態儲存區資料庫的 db_owner 權限,才能在容錯移轉之後於 Windows PowerShell 中執行快取命令。
權限
所有快取主機都必須具有登入主控叢集組態資料庫之資料庫伺服器的權限。叢集組態資料庫也必須設定其安全性設定,讓每部快取伺服器都具有資料庫的 SQL Server 登入、db_datareader、db_datawriter 與 EXECUTE 權限。
注意
安裝程式會嘗試自動設定這些權限。請注意,執行安裝之人員的安全性身分識別必須具有 SQL Server 資料庫的 db_owner 權限,以及 SQL Server 執行個體的 SQL Server 登入。
若建立 Windows 安全性群組來管理快取組態資料庫的存取權,則只需設定一次 SQL Server 登入與資料庫權限。例如,您可以設定一個名為 ClusterACacheServers
的 Windows 安全性群組,讓具有權限的快取伺服器成為快取叢集 ClusterA
的一部分。
建立 ClusterACacheServers
安全性群組之後,請將適當之快取伺服器成員資格的網域電腦帳戶 (例如,domain\computername$
) 新增至此群組。然後將資料庫的 SQL Server 登入、db_datawriter、db_datareader 與 EXECUTE 權限,授與 ClusterACacheServers
安全性群組。設定之後,每當想要將新伺服器新增到快取叢集時,只需要將新伺服器的網域電腦帳戶新增到該安全性群組即可。
資料庫結構
首次使用 SQL Server 型組態選項來設定 AppFabric 快取 功能時,組態工具會在指定的資料庫中建立許多資料表。還會針對叢集的內部操作新增一些預存程序。
注意
您不應該手動編輯叢集組態資料庫中的資料。為了確保叢集持續操作,只有快取主機與安裝程式才能寫入資料庫。
資料庫安全性
在連接字串中使用密碼會產生安全性風險,應該盡量避免。連接字串以純文字方式儲存在每部快取伺服器的快取主機組態檔 (DistributedCacheService.exe.config) 中。為了盡量避免此類風險,請使用整合式安全性與 SQL Server 建立信任連線。使用此方法就不需要在連接字串中儲存密碼。如果沒有整合式安全性,就必須在連接字串中指定純文字密碼。保護連接字串的最好方法如下 (從低風險到高風險):
使用整合式安全性。
以密碼保護連接字串,且盡量不要傳遞連接字串。
盡量降低所有連接字串的存留期與接觸點。
資料庫連線
使用 SQL Server 2005 或更新版本的資料庫來儲存叢集組態設定時,請確認已設定伺服器允許的同時連線足以容納叢集內的所有快取主機。叢集內的快取主機數目不得超過可用的並行連線數。
伺服器可以設定為不限制並行連線數,但是資料庫系統管理員也可以基於管理或其他原因,將該設定設為極低的值。在此類情況下,將快取主機新增到快取叢集之前,請先確認伺服器可支援額外的連線。
另請參閱
概念
共用資料夾型叢集組態
叢集組態設定
設定快取用戶端
設定快取叢集
開發快取用戶端
2012-03-05