ウォークスルー On設定
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Always Onを使えば、オンプレミスのSQL ServerでxDBコレクションデータベースの高可用性(HA)を実現できます。このウォークスルーでは以下の方法を説明します:
- Always Onの設定と設定
- ログインセキュリティ識別子の同期
- ShardsGlobalテーブルのシャードサーバー名を更新
- xConnect接続文字列を更新してください
!注XPサービスデータベースや コアロールデータベース用にAlways Onを設定することも可能です。
Always Onの設定と設定
Always Onの設定と設定:
- docs.microsoft.com の「 常時オン可用性グループで始める 」を参照してください。
可用性グループを設定する際には以下の点を念頭に置いてください:
- セカンダリ複製を作成する際は 、同期コミットモード を使用していることを確認してください。
- Availability Groupリスナーの設定が必要です。
- xDBコレクションのデータベースは実際には複数のデータベースで構成されており、シャードマップマネージャーとシャードセットを含みます。SQL Serverのエディションに応じて、各データベースごとに可用性グループを設定するか、すべてのデータベースを含む可用性グループを設定することができます。
ログインセキュリティ識別子の同期
デフォルトでは、すべてのxDBコレクションデータベースにはcollection_userという名前の単一のユーザーがいます。Always Onの設定の一環として、プライマリとセカンダリプレプリカ間でユーザーのセキュリティ識別子(SID)を同期させる必要があります。
プライマリとセカンダリレプリカ間でユーザーのSIDを同期させるには:
-
プライマリプリカからcollection_user SIDを取得するには、SQLマスターデータベースに対して以下のクエリを実行します:
SELECT @@SERVERNAME SERVERNAME, name, sid FROM sys.server_principals WHERE name='collection_user'; -- Specify login name
-
セカンダリプレプリカからcollection_userを削除してください。
-
プライマリプリカのSIDを使ってセカンダリ複製のcollection_userログインを再作成します。
CREATE LOGIN collection_user -- Specify login name WITH PASSWORD=N'Password12345' -- Use the SID retrieved from the Primary Replica , SID = 0x9AE4CE9DC738EC4BA1968FF2DF9DD787 , DEFAULT_DATABASE = master
ShardsGlobalテーブルのシャードサーバー名を更新
シャードマップマネージャーの __ShardManagement.ShardsGlobalテーブルには、シャードセット内の各シャードに関する情報、シャードデータベース名やサーバーが含まれます。
シャードのサーバー名を更新するには:
- ServerNameフィールドの値をサーバー名から可用性グループのリスナーに変更します。例えば、値をSQLServer-ABCDからtcp, 5025に変更します。__ShardManagement.ShardsGlobalテーブル内のすべてのシャードに対してこれを繰り返します。
xConnect接続文字列を更新してください
最後に、xDBコレクションデータベースを参照するすべてのロールの接続文字列を更新する必要があります。
xConnect接続文字列を更新するには:
-
,5025です:\App_Config\ConnectionStrings.configファイル内で、collection接続文字列を変更してシャードマップマネージャのレプリカのリスナーを参照します。以下の例では、リスナーはtcp