次の方法で共有


データベースを復元する - BizTalk Server

すべてのデータベースを同じマークに復元して、データベース間で一貫性のあるトランザクション状態を確保する必要があります。 「 マークされたトランザクション、完全バックアップ、およびログ バックアップ」を参照してください。

宛先システムにサーバーが 1 つしかない場合は、すべてのログ・バックアップ・セット (最新のセットを除く) が復元されていることを確認してください。 復元されたバックアップの履歴の表示を参照してください。 すべてのログ バックアップ セットが復元されておらず、復元ジョブが現在実行されていない場合は、復元ジョブを (必要に応じて手動で) 実行します。 復元できる残っているバックアップセットがある場合、ジョブはそれらをすべて復元するまで処理します。

移行先システムに複数のサーバーがある場合は、すべてのサーバーを同じバックアップ セットに復元する必要があります。 各サーバーの復元履歴を表示し、復元された最新のログ バックアップ セットがすべてのサーバーで同じであることを確認します。 そうでない場合は、最新のログ バックアップ セットを復元する必要がある各サーバーで復元ジョブを手動で実行する必要があります。

すべてのサーバーが同じバックアップ セット上にあると、最終的なセットを手動で復元できます。

adm_BackupHistoryテーブルは、ソース システムのログ配布プロセスの中心的な履歴ポイントです。 実行されたすべてのバックアップ作業がこのテーブルに記録されます。 移行先システム内のすべてのサーバーがこのテーブルから読み取り、復元作業を実行するために必要な情報を受け取ります。

開始する前に

  • バックアップから BAM プライマリ インポート データベースを復元する場合は、BAM プライマリ バックアップよりも古いバックアップを使用して、BAM アーカイブ、BAM スター スキーマ、BAM 分析データベースも復元する必要があります。 BAM のバックアップと復元を参照してください。
  • バックアップ BizTalk Server ジョブが配置した場所からソース データベースの完全バックアップまたはログ バックアップを移動する場合は、コピー先システムが完全/ログ バックアップ ファイルを読み取る新しい場所に LogFileLocation または DBFileLocation を設定して、移行先システムのbts_LogShippingDatabases テーブル内のそのデータベースの関連付けられた行を更新する必要があります。 このテーブルは、bts_ConfigureBtsLogShipping ストアド プロシージャを実行すると設定されます。 既定では、これらの列は null に設定されます。これは、ターゲット システムがadm_BackupHistory テーブルに格納されている場所からバックアップ ファイルを読み取る必要があることを示します。
  • バックアップ ファイルのコピーは常に安全な場所に保管してください。 ログ バックアップがある場合でも、バックアップ ファイルがないとデータベースを復元できません。

[前提条件]

sysadmin SQL Server ロールのメンバーであるアカウントを使用して SQL Server にサインインします。

データベースを復元する

  1. 移行先システムで 、SQL Server Management Studio を開き、SQL Server に接続します。

  2. [SQL Server エージェント] を展開し、[ジョブ] を展開します。 次の手順を実行してください。

    1. BTS ログ配布 - バックアップ履歴の取得ジョブを右クリックし、[無効] を選択します。 状態が [成功] に変わります。

    2. BTS ログ配布 - データベースの復元ジョブを右クリックし、[無効] を選択します。 状態が [成功] に変わります。

    3. BTS ログ配布 - マークに復元を右クリックし、ステップからジョブを開始を選択します。 [ステップ ID 1] を選択し、[開始] を選択します

      状態が [成功] に変わると、SQL Server エージェント ジョブと BizTalk Server データベースが移行先システムに復元されます。

    Von Bedeutung

    [状態] が [エラー] の場合は、[メッセージ] フィールドのリンクを選択して原因を特定します。 これらのジョブは、続行する前に成功状態である必要があります。

  3. SampleUpdateInfo.xml ファイルを編集した BizTalk Server で、コマンド プロンプトを開き、次の場所に移動します。

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

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

  4. コマンド プロンプトで、次のように入力します。

    cscript UpdateDatabase.vbs SampleUpdateInfo.xml

    SQL Server 2016 以降の環境を使用する場合は、UpdateDatabase.vbs で MSOLEDBSQL を使用することが必要になる場合があります。 UpdateDatabase.vbs で、 conn.Provider = "SQLOLEDB"に移動します。 SQLOLEDBMSOLEDBSQLに変更します。 それ以外の場合、スクリプトはエラーで失敗する可能性があります: SQL Server: Invalid connection string attribute

    MSOLEDBSQL 18.x をダウンロードします

    このスクリプトは、他のデータベースの場所に関する情報を格納するすべてのテーブルを更新します。

    Von Bedeutung

    • BizTalk グループ内の 1 つの サーバーで UpdateDatabase.vbs を実行します。
    • 64 ビット コンピューターでは、64 ビット のコマンド プロンプトから UpdateDatabase.vbs を実行する必要があります。 64 ビット コンピューターの既定のコマンド プロンプトは 64 ビットのコマンド プロンプトであり、%SystemDrive%\windows\System32\cmd.exeにあります。
    • BizTalk EDI エンジンは、データベースの復元時に SampleUpdateInfo.xml に独自の変更を加える必要はありません。 EDI テーブルにアクセスするには、BizTalkDTADb データベースへの接続に依存します。
  5. 編集した SampleUpdateInfo.xml ファイルを、この BizTalk グループ内の BizTalk Server を実行 しているすべての コンピューター上の次のフォルダーにコピーします。

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

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

  6. BizTalk Server グループ内の コンピューターで、コマンド プロンプトを開き、次の操作を行います。

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

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

  7. コマンド プロンプトで、次のように入力します。

    cscript UpdateRegistry.vbs SampleUpdateInfo.xml

    このスクリプトは、他のデータベースの場所に関する情報を格納するすべてのレジストリ エントリを更新します。

    Von Bedeutung

    • BizTalk グループ 内のすべての サーバーで UpdateRegistry.vbs を実行します。
    • 64 ビット コンピューターでは、64 ビット のコマンド プロンプトから UpdateRegistry.vbs を実行する必要があります。 64 ビット コンピューターの既定のコマンド プロンプトは 64 ビットのコマンド プロンプトであり、%SystemDrive%\windows\System32\cmd.exeにあります。
  8. すべての BizTalk Server サービスを再起動します。 BizTalk Server サービスを開始、停止、一時停止、再開、または再起動する方法を参照してください。

  9. データベースを復元した後、Windows Management Instrumentation サービスを再起動します。

    1. services.msc を開きます。

    2. Windows Management Instrumentation を右クリックし、[再起動] を選択します

  10. BizTalk Server 管理を開きます。 次の手順を実行してください。

    1. BizTalk グループを右クリックし、[削除] を選択します

    2. BizTalk Server 管理を右クリックし、[既存のグループに接続] を選択します。

    3. [SQL Server 名] で、BizTalk 管理データベースをホストする SQL Server インスタンスの名前を選択します。 SQL Server インスタンスを選択すると、そのコンピューター上の BizTalk Server データベースが BizTalk Server によって自動的に検出されます。

    4. [データベース名] で、BizTalk 管理データベース (既定では BizTalkMgmtDb) を選択し、[OK] を選択します

      BizTalk Server 管理コンソールは、BizTalk グループを管理コンソールに追加します。

      これで BizTalk Server が復元され、実行されているはずです。 次に、バックアップ BizTalk Server ジョブを構成して、新しい移行先サーバーへのバックアップの書き込みを開始します。 新しい宛先システムも再構成する必要があります。

Von Bedeutung

  • ルール エンジンを使用している場合は、データベースを復元した後、BizTalk Server グループ内のすべてのサーバーでルール エンジン更新サービスを再起動する必要があります。 BizTalk Server サービスを開始、停止、一時停止、再開、または再起動する方法を参照してください。
  • BAM を使用している場合は、今度は BAM データベースを復元します。 BAM のバックアップと復元を参照してください。
  • データベースを移動していて、BizTalk EDI または RosettaNet アクセラレータを使用している場合は、一部の SQL ポートが BizTalk データベースに対してセットアップされている可能性があります。 バインドをエクスポートし、古いデータベース リンクを検索し、それに応じてデータベース リンクを置き換えます。

次のステップ

BAM のバックアップと復元

こちらもご覧ください

バックアップ BizTalk Server ジョブを構成する
ログ配布用に宛先システムを構成する