1. ロールのスケーリングと構成タスク

チュートリアル: xDB CollectionデータベースのAlways Onの構成

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

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

Always Onを使用すると、オンプレミスのSQL ServerでxDB Collectionデータベースの高可用性 (HA) を実現できます。このチュートリアルでは、次の方法について説明します。

  • Always Onのセットアップと構成

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

  • ShardsGlobalテーブルのシャードサーバー名を更新する

  • xConnect接続文字列の更新

メモ

また、XPサービス・データベースと コア・ロール・データベースに対してAlways Onを構成することもできます。

Always Onのセットアップと構成

Always Onをセットアップして構成するには:

可用性グループを設定するときは、次の点に注意してください。

  • セカンダリ レプリカを作成するときは、同期コミット モード を使用していることを確認してください。

  • 可用性グループのリスナーを構成する必要があります。

  • xDB Collectionデータベースは、実際には、シャード マップ マネージャーとシャード セットを含む複数のデータベースで構成されています。SQL Serverのエディションに応じて、データベースごとに可用性グループを設定するか、すべてのデータベースを含む可用性グループを設定できます。

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

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

プライマリ レプリカとセカンダリ レプリカ間でユーザーのSIDを同期するには、次のようにします。

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

    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:Shard0Listener, 5025に変更します。__ShardManagement.ShardsGlobalテーブル内のすべてのシャードに対して繰り返します。

xConnect接続文字列の更新

最後に、xDB Collectionデータベースを参照するすべてのロールの接続文字列を更新する必要があります。

xConnect接続文字列を更新するには、次の手順に従います。

  • <root>\App_Config\ConnectionStrings.configファイルで、シャード マップ マネージャー レプリカのリスナーを参照するようにcollection接続文字列を変更します。次の例では、リスナーはtcp:CollectionList,5025です。

    <connectionStrings>
            <add name="collection" connectionString="user id=exampleuser;password=SXglRtUUQYVJwUT9OLfL;data source=tcp:CollectionList,5025;Initial Catalog=sample_Xdb.Collection.ShardMapManager" />
    </connectionStrings>
この記事を改善するための提案がある場合は、 お知らせください!