ウォークスルー
On設定

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Always Onを使えば、オンプレミスのSQL ServerでxDBコレクションデータベースの高可用性(HA)を実現できます。このウォークスルーでは以下の方法を説明します:

  • Always Onの設定と設定
  • ログインセキュリティ識別子の同期
  • ShardsGlobalテーブルのシャードサーバー名を更新
  • xConnect接続文字列を更新してください

!注XPサービスデータベースや コアロールデータベース用にAlways Onを設定することも可能です。

Always Onの設定と設定

Always Onの設定と設定:

可用性グループを設定する際には以下の点を念頭に置いてください:

  • セカンダリ複製を作成する際は 、同期コミットモード を使用していることを確認してください。
  • Availability Groupリスナーの設定が必要です。
  • xDBコレクションのデータベースは実際には複数のデータベースで構成されており、シャードマップマネージャーとシャードセットを含みます。SQL Serverのエディションに応じて、各データベースごとに可用性グループを設定するか、すべてのデータベースを含む可用性グループを設定することができます。

ログインセキュリティ識別子の同期

デフォルトでは、すべてのxDBコレクションデータベースにはcollection_userという名前の単一のユーザーがいます。Always Onの設定の一環として、プライマリとセカンダリプレプリカ間でユーザーのセキュリティ識別子(SID)を同期させる必要があります。

プライマリとセカンダリレプリカ間でユーザーのSIDを同期させるには:

  1. プライマリプリカからcollection_user SIDを取得するには、SQLマスターデータベースに対して以下のクエリを実行します:

    SELECT @@SERVERNAME SERVERNAME, name, sid FROM sys.server_principals WHERE name='collection_user'; -- Specify login name

  2. セカンダリプレプリカからcollection_userを削除してください。

  3. プライマリプリカの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接続文字列を更新するには:

  • \App_Config\ConnectionStrings.configファイル内で、collection接続文字列を変更してシャードマップマネージャのレプリカのリスナーを参照します。以下の例では、リスナーはtcp

    ,5025です:

         
この記事を改善するための提案がある場合は、 お知らせください!