ログ配布用に送信先システムを構成する方法

ログ配布は、システム障害時のダウンタイムを短縮することを目的とした、スタンバイ サーバーの機能です。 ログ配布を使用すると、送信元システムのトランザクション ログを送信先システムに自動的に送信できます。 移行先システムでは、トランザクション ログはBizTalk Server データベースに復元され、ソース データベースと密接に同期されます。

ログ配布は、単一サーバー環境および分散型サーバー環境の両方で動作します。 ライブ データが格納されたサーバーまたはサーバーのグループを、送信元 (プライマリ) システムと呼びます。 送信元 (プライマリ) システムによって生成されたデータベース バックアップの復元先として使用するサーバーまたはサーバーのグループを、送信先 (セカンダリ) システムと呼びます。

SQL ドキュメントのログ配布についてでは、具体的な詳細について説明します。

次の手順を使用すれば、1 つの送信元システムに対する 1 サーバーの送信先システムを作成できます。 送信先システムに複数のサーバーが含まれる場合は、各送信先サーバーに対してこの手順を繰り返してください。

重要

バックアップ ファイルのコピーは必ず、セキュリティで保護された場所に保管しておいてください。 ログ バックアップがあっても、バックアップ ファイルがなければデータベースを復元することはできません。

前提条件

  • BizTalk Server Administrators グループのメンバーとしてサインインします。

  • 移行元システムと移行先システムで同じバージョンのSQL Serverを使用します。 SQL Serverは、ソース システムと移行先システムの同じ相対場所にインストールする必要があります。

  • 送信先システムにも、送信元システムの SQL トランザクション ログ (.LDF ファイル) のディレクトリが存在している必要があります。 このディレクトリが送信先システムにない場合は、送信元システムと同じ名前およびアクセス許可を持つディレクトリを作成します。

ログ配布の宛先システムを構成する

  1. 移行先システムで、SQL Server Management Studioを開き、SQL Serverに接続します。 [使用可能なデータベース] から [master ] を選択します。

  2. [ ファイル ] メニューで、次の SQL スクリプトを 開きます

    %SystemDrive%\Program Files\Microsoft BizTalk Server <version>\Schema\LogShipping_Destination_Schema.sql  
    
  3. [ クエリ ] メニューの [ 実行] を選択します。

    LogShipping_Destination_Schemaは、移行先システム上のソース データベースの復元に使用されるテーブルを削除して再作成します。 これには、復元対象のデータベースの一覧を格納するテーブル、送信元システムの BizTalkMgmtDb データベースからインポートされたバックアップ履歴のコピー、および送信元データベースに対して実行するように構成されている SQL Server エージェント ジョブについての情報が含まれます。

  4. [ ファイル ] メニューで、次の SQL スクリプトを 開きます

    %SystemDrive%\Program Files\Microsoft BizTalk Server <version>\Schema\LogShipping_Destination_Logic.sql  
    
  5. [ クエリ ] メニューの [ 実行] を選択します。

  6. ターゲット システムとして識別したコンピューターで、SQL Server Management Studioを開き、SQL Serverに接続します。

  7. [新しいクエリ] を選択します。 クエリ ウィンドウに、次のコマンドを貼り付けます。

    exec bts_ConfigureBizTalkLogShipping @nvcDescription = '<MyLogShippingSolution>',  
    @nvcMgmtDatabaseName = '<BizTalkServerManagementDatabaseName>',  
    @nvcMgmtServerName = '<BizTalkServerManagementDatabaseServer>',  
    @SourceServerName = null, -- null indicates that this destination server restores all databases  
    @fLinkServers = 1 -- 1 automatically links the server to the management database  
    

    その後、以下を実行します。

    1. 宛先システムで、 アドホック分散クエリを有効にします。

    2. クエリ ウィンドウで、MyLogShippingSolution> を、単一引用符で囲まれたわかりやすい説明に置き換えます<

    3. クエリ ウィンドウで、BizTalkServerManagementDatabaseName> と BizTalkServerManagementDatabaseServer を、単一引用符で囲まれたソース BizTalk 管理データベースの名前と場所に置き換えます<><

    Note

    複数の送信元サーバーがある場合は、各送信元サーバーをそれぞれ独自の送信先サーバーに復元できます。 各移行先サーバーの @SourceServerName = null パラメーターで、 null を 、単一引用符で囲まれた適切なソース サーバーの名前に置き換えます (たとえば、 @SourceServerName = 'MySourceServer',)。

  8. [ クエリ ] メニューの [ 実行] を選択します。

    重要

    クエリが失敗した場合は、クエリの問題を修正した後で、この手順の手順 1. から開始して、送信先システムを再構成する必要があります。

    Note

    送信先システムでの復元ジョブは、復元された各データベースに対するログ ファイルおよびデータ ファイルを、送信元データベース サーバーに格納されていたときと同じ場所に再作成しようとします。

  9. SQL Server Management Studioの宛先システムで、[SQL Server エージェント] を展開し、[ジョブ] を展開します

    詳細ウィンドウに、次の 3 つの新しいジョブが表示されます。

    • BTS ログの配布 - バックアップ履歴の取得

      この BizTalk ジョブでは、送信元のバックアップ履歴レコードを送信先に移動します。 既定では、ジョブを 1 分おきに実行するスケジュールになります。 このジョブは、履歴レコードを送信元から送信先に移動するために、可能な限り頻繁に実行されます。 送信元システムでシステム障害が発生しても、送信先システムとして指定したサーバーでは、インポート済みの履歴レコードの処理が続行します。

    • BTS サーバー ログ配布復元データベース

      この BizTalk ジョブは、移行元の指定されたデータベースのバックアップ ファイルを移行先サーバーに復元します。 既定では、ジョブを 1 分おきに実行するスケジュールになります。 このジョブは、復元するバックアップ ファイルがある限り、完了することなく続行されます。 用心のために、このジョブを 1 回だけ多く実行してジョブが完了していることを確認できます。

    • BTS ログの配布 - マークまで復元

      この BizTalk ジョブは、すべてのデータベースを最新のログ バックアップ内のマークまで復元します。 これにより、すべてのデータベースでトランザクションの状態の一貫性が確保されます。 さらに、このジョブでは、送信元システムに存在したすべての SQL Server エージェント ジョブが送信先システムに再作成されます。

      重要

      これらのジョブが失敗しないように監視する必要があります。

  10. BizTalk Serverで、次のフォルダーに移動します。

    32 ビット コンピューター: %SystemDrive%\Program Files\Microsoft BizTalk Server <バージョン>\Schema\Restore

    64 ビット コンピューター: %SystemDrive%\Program Files (x86)\Microsoft BizTalk Server <バージョン>\Bins32\Schema\Restore

  11. SampleUpdateInfo.xmlを右クリックし、 [編集] を選択します。 次の操作を行います。

    • "SourceServer" のすべてのインスタンスをソース システムの名前に置き換えます。

    • "DestinationServer" のすべてのインスタンスを宛先システムの名前に置き換えます。

    重要

    送信元システムおよび送信先システムの名前は、引用符で囲んでください。

    Note

    BizTalk Serverデータベースの名前を変更した場合は、XML ファイル内のデータベース名も更新する必要があります。

    Note

    BAM を構成した場合は、BAMAlertsApplication データベースと BAMAlertsNSMain データベースの SampleUpdateInfo.xml ファイルの OtherDatabases セクションに次の行を追加する必要があります。
    <Database Name="BAM Alerts Application DB" oldDBName="BAMAlertsApplication" oldDBServer="SourceServer" newDBName=" BAMAlertsApplication" newDBServer="DestinationServer"/>
    <Database Name="BAM Alerts Instance DB" oldDBName="BAMAlertsNSMain" oldDBServer="SourceServer" newDBName="BAMAlertsNSMain" newDBServer="DestinationServer"/>

    これら 2 つのデータベースの既定の名前を変更した場合は、実際のデータベース名を使用してください。

  12. BizTalk Server システムに複数の MessageBox データベースがある場合は、別の MessageBoxDB 行を一覧に追加し、マスター以外のデータベースに IsMaster="0" を設定します。

  13. BAM またはルール エンジンを使用する場合は、必要に応じてこれらの行をコメント解除してください。

  14. カスタム データベースがある場合は、[OtherDatabases>] セクションに<追加します。 「カスタム データベースをバックアップする方法」を参照してください。

  15. ファイルの編集を終了したら、ファイルを保存して閉じます。

次の手順

データベースを復元する方法

参照

BizTalk Server のバックアップ ジョブを構成する方法
BizTalk Server のバックアップ ジョブのスケジュールを設定する方法
カスタム データベースのバックアップ方法