次の方法で共有


バックアップ BizTalk Server ジョブを構成する

BizTalk Server をインストールして構成したら、データをバックアップするように BizTalk Server のバックアップ ジョブを構成します。

BizTalk Server 2016 Feature Pack 2 以降では、データベースとログ ファイルを Azure BLOB ストレージ アカウントにバックアップできます。

概要

バックアップ BizTalk Server (BizTalkMgmtDb) ジョブには、次の手順が含まれています。

  • 手順 1 – 圧縮オプションの設定: バックアップ中に圧縮を有効または無効にする

  • 手順 2 – BackupFull: BizTalk Server データベースの完全データベース バックアップを実行する

  • 手順 3 – MarkAndBackUpLog: BizTalk Server データベース ログをバックアップする

  • ステップ4 - バックアップ履歴をクリアする:バックアップ履歴を保持する期間を選択する

このジョブを構成するには、次の操作を行う必要があります。

  • プライマリおよび移行先の SQL Server とその他のバックアップ オプションを特定する

  • データベースをバックアップする Windows ユーザー アカウントを選択し、このアカウントの SQL Server ログインを作成します

  • BIZTalk Server データベースの BTS_BACKUP_USERS データベース ロールに SQL Server ログインをマップする

  • MSDTC サービスがすべてのノードでアクティブであることを確認します。 それ以外の場合、ソース ノードと移行先ノードの間にリンク サーバーを追加すると失敗します。

開始する前に

  • 特定の構成およびバックアップ操作には、sysadmin SQL Server ロールのメンバーシップが必要です。 BizTalk Server データベースをバックアップするには、SQL Server sysadmin Server ロールのメンバーであるアカウントでプライマリ サーバーにサインインします。 BizTalk Server の構成では、BTS_BACKUP_USERS データベース ロールが追加されます。 データベースのバックアップに使用するユーザー アカウントには、プライマリ サーバーを除き、バックアップに関係するすべての SQL Server に対するシステム管理者 (sysadmin SQL Server ロール) のアクセス許可は必要ありません。

  • BizTalk Server データベース バックアップの実行に使用するサインイン アカウントを決定します。 ローカル アカウントを使用でき、複数のアカウントを使用できます。 ただし、この目的のために専用の Windows ドメイン ユーザー アカウントを 1 つ作成する方が一般的に簡単で安全です。 このユーザーの SQL Server ログオン アカウントを構成する必要があります。また、プライマリ (ソース) サーバーまたはセカンダリ (移行先) サーバーとして、バックアップ プロセスに参加するすべての SQL Server の SQL Server ログインにユーザーをマップする必要があります。 このユーザーを、バックアップする各 BizTalk Server データベースの BizTalk BTS_BACKUP_USERS データベース ロールに割り当てます。

  • BizTalk Server のバックアップ ジョブでは古いバックアップ ファイルは削除されないため、ディスク領域を節約するには、これらのバックアップ ファイルを手動で管理する必要があります。 データベースの新しい完全バックアップを作成したら、古いバックアップ ファイルをアーカイブ ストレージ デバイスに移動して、プライマリ ディスク上の領域を再利用する必要があります。 これらのファイルを管理するには、 SSIS パッケージ を参照してください。

  • BizTalk Server は、追跡データを BizTalk 追跡データベースに直接書き込むことはありません。代わりに、メッセージ ボックス データベースにデータをキャッシュし、BizTalk 追跡データベースに移動します。 MessageBox のデータ損失が発生した場合、一部の追跡データも失われる可能性があります。

[前提条件]

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

  • SQL Server エージェント サービスを、SQL Server の各インスタンスにマップされたユーザー ログインを使用して、ドメイン アカウントで実行するように構成します (ローカル アカウントは使用できますが、推奨)。

  • Azure BLOB ストレージ アカウントを使用するには、 汎用ストレージ アカウント、BLOB ストレージ アカウント内のコンテナー、 共有アクセス署名 (SAS)、SAS を 使用した SQL 資格情報が必要です。 作成したら、BLOB サービス エンドポイントの URL を準備します。これは、https:// yourstorageaccount.blob.core.windows.net/containername のようになります。

    ヒント

    SAS で構成された既存の BLOB ストレージ アカウントがない場合は、 SAS PowerShell スクリプト で作成し、コンテナーを作成できます。 SQL Server Backup to URL には、概要と具体的な手順が記載されています。

ジョブを構成する

  1. BizTalk 管理データベースをホストする SQL Server で 、SQL Server Management Studio を開き、SQL Server に接続します。

  2. [SQL Server エージェント] を展開し、[ジョブ] を展開します。

  3. [Backup BizTalk Server (BizTalkMgmtDb)] を右クリックし、[プロパティ] を選択します。 ジョブのプロパティで、[ステップ] を選択 します

  4. [ 圧縮オプションの設定 ] ステップを選択し、[ 編集] を選択します。

    この手順では、BizTalk 管理データベース (BizTalkMgmtDb) の sp_SetBackupCompression ストアド プロシージャを呼び出して、 adm_BackupSettings テーブルの値を設定します。 ストアド プロシージャには、 @bCompressionという 1 つのパラメーターがあります。 既定では、 0 に設定されています (バックアップ圧縮はオフです)。 圧縮を適用するには、値を 1 に変更します。

    exec [dbo].[sp_SetBackupCompression] @bCompression = 1 /*0 - Do not use Compression, 1 - Use Compression */  
    

    [OK] を選択.

  5. BackupFull ステップを選択し、[編集] を選択します。 [コマンド] ボックスで、パラメーター値を更新します。

    1. 頻度: 既定値は d (日単位) です。これが推奨される設定です。 その他の値には、 h (時間単位)、 w (週単位)、 m (月単位)、 y (年単位) があります。

    2. 名前: 既定値は BTS です。 この名前は、バックアップ ファイル名の一部として使用されます。

    3. バックアップ ファイルの場所: '<destination path>' を、BizTalk Server データベースをバックアップするコンピューターとフォルダーへの完全なパス (単一引用符を含める必要があります) または Azure BLOB ストレージ アカウントへの BLOB サービス エンドポイント URL に置き換えます。

      Von Bedeutung

      • ローカル パスを入力する場合は、バックアップ BizTalk Server ジョブで新しいファイルが作成されるたびに、すべてのファイルをコピー先システム上の同じフォルダーに手動でコピーする必要があります。

        リモート パスを使用するには、\\<ServerName>\<SharedDrive>\ などの UNC 共有を入力します。ここで、<ServerName> はファイルが必要なサーバーの名前、<SharedDrive> は共有ドライブまたはフォルダーの名前です。

        ネットワーク経由でのデータのバックアップは、ネットワークの問題の影響を受けます。 リモートの場所を使用する場合は、BizTalk Server のバックアップ ジョブが完了したときにバックアップが成功したことを確認します。

      • データ損失の可能性を回避するには、バックアップ ディスクをデータベース のデータ ディスクやログ ディスクとは異なるディスクに構成します。 これは、データまたはログ ディスクに障害が発生した場合にバックアップにアクセスできるようにするために必要です。

      • Azure BLOB アカウントにバックアップする場合は、 Blob Service エンドポイント の URL とコンテナー名を入力します。この名前は、 Azure portal の BLOB サービスのプロパティに一覧表示されます。

    4. 任意。 部分バックアップの失敗後に完全バックアップを強制する (@ForceFullBackupAfterPartialSetFailure): 既定値は 0 です。 ログ バックアップが失敗した場合、次の完全バックアップ間隔に達するまで、完全バックアップは実行されません。 ログ バックアップエラーが発生するたびに完全バックアップを実行する場合は、 1 に置き換えます。

    5. 任意。 バックアップ プロセスを実行するローカル時刻 (@BackupHour): 既定値は NULL です。 バックアップ ジョブは BizTalk Server コンピューターのタイム ゾーンに関連付けされておらず、UTC 時刻 (0000) の午前 0 時に実行されます。 BizTalk Server コンピューターのタイム ゾーンで特定の時間にバックアップする場合は、現地時刻として 0 (午前 0 時) から 23 (午後 11 時) までの整数値を入力します。

    6. 任意。 現地時刻を使用 する (@UseLocalTime): プロシージャにローカル時刻を使用するように指示します。 既定値は 0 で、現在の UTC 時刻 (GETUTCDATE() – 2007-05-04 01:34:11.933 を使用します。 1 に設定すると、ローカル時刻 -GETDATE() – 2007-05-03 18:34:11.933 が使用されます。

    次の例では、毎日のバックアップは午前 2 時に作成され、m:\ ドライブに格納されます。

    exec [dbo].[sp_BackupAllFull_Schedule]   
    'd' /* Frequency */,   
    'BTS' /* Name */,   
    'm:\BizTalkBackups' /* ___location of backup files */,   
    '0' /* 0 (default) or 1 ForceFullBackupAfterPartialSetFailure */,   
    '2' /* local time hour for the backup process to run */  
    

    次の例では、毎週のバックアップは UTC 時刻の午前 0 時に作成され、Azure BLOB アカウントに格納されます。

    exec [dbo].[sp_BackupAllFull_Schedule]   
    'w' /* Frequency */,   
    'BTS' /* Name */,   
    'http://yourstorageaccount.blob.core.windows.net/yourcontainer/' /* ___location of backup files */,   
    '1' /* 0 (default) or 1 ForceFullBackupAfterPartialSetFailure */
    

    [OK] を選択.

  6. MarkAndBackupLog ステップを選択し、[編集] を選択します。 [コマンド] ボックスで、パラメーター値を更新します。

    1. @MarkName: これは、バックアップ ファイルの名前付け規則の一部です: <Server Name>_<Database Name>_Log_< Log Mark Name >_<Timestamp>

    2. @BackupPath: BizTalk Server データベース ログ、または Azure BLOB ストレージ アカウントとコンテナーを格納するコンピューターとフォルダーへの完全な宛先パス (単一引用符を含む)。 <destination パス>は、別のサーバーへのローカル パスまたは UNC パスにすることもできます。

      MarkAndBackupLog ステップでは、ログがバックアップのためにマークされ、その後にバックアップされます。

    Von Bedeutung

    潜在的なデータ損失を回避し、パフォーマンスを向上させるには、元のデータベース ログの格納に使用されているものとは異なる別のコンピューター (ハード ドライブ) に <destination パス>を設定する必要があります。

    [OK] を選択.

  7. [ バックアップ履歴のクリア ] ステップを選択し、[ 編集] を選択します。 [コマンド] ボックスで、パラメーター値を更新します。

    1. @DaysToKeep: 既定値は 14 日ですAdm_BackupHistory テーブルにバックアップ履歴を保持する期間を指定します。 バックアップ履歴を定期的に消去すると、 Adm_BackupHistory テーブルを適切なサイズに維持できます。

    2. 任意。 @UseLocalTime: ローカル時刻を使用するようにプロシージャに指示します。 既定値は 0 です。 現在の UTC 時刻 GETUTCDATE() – 2007-05-04 01:34:11.933 を使用します。 1 に設定すると、ローカル時刻 -GETDATE() – 2007-05-03 18:34:11.933 が使用されます。

    exec [dbo].[sp_DeleteBackupHistory] @DaysToKeep=14, @UseLocalTime =1 
    

    この手順 では、 バックアップ ファイルは宛先パスから削除されません。

    [ OK] を 選択し、すべてのプロパティ ウィンドウを閉じます。

  8. 任意。 バックアップ スケジュールを変更します。 バックアップ BizTalk Server ジョブをスケジュールする方法を参照してください。

    バックアップ BizTalk Server ジョブは、初めて構成するときに実行されます。 既定では、後続の実行では、バックアップ BizTalk Server ジョブは 1 日に 1 回完全バックアップを完了し、15 分ごとにログ バックアップを完了します。

  9. BizTalk Server のバックアップ ジョブを右クリックし、[有効] を選択します。 状態が [成功] に変わります。

Backup_Setup_All_Procs.sqlとLogShipping_Destination_Logic.sqlの実行

BizTalk Server 2016 Feature Pack 2 (FP2) では、 \Program Files (x86)\Microsoft BizTalk Server *your version*\SchemaでBackup_Setup_All_Procs.sqlスクリプトとLogShipping_Destination_Logic.sql スクリプトが使用されました。

バックアップ BizTalk Server ジョブが既に構成されていて、(ディスクではなく) Azure BLOB を使用するように切り替える場合は、次の操作も行います。

  1. SQL Server で、バックアップ BizTalk Server ジョブによってバックアップされているすべてのカスタム データベースに対して Backup_Setup_All_Procs.sql スクリプトを実行します。 既定では、FP2 は BizTalk データベースを自動的に更新します。カスタム データベース (BizTalkMgmtDb の adm_OtherBackupDatabases テーブル内のデータベース) は更新されません。

    カスタム データベースのバックアップでは、カスタム データベースの詳細が提供されます。

  2. ログ配布を使用する場合は、SQL Server 内の宛先システムでLogShipping_Destination_Logic.sql スクリプトを実行します。 ログ配布を使用しない場合は、このスクリプトを実行しないでください。

    ログ配布用に宛先システムを構成すると、 転送先システムの詳細が表示されます。

sp_ForceFullBackup ストアドプロシージャ

BizTalkMgmtDb データベースのsp_ForceFullBackup ストアド プロシージャを使用して、データ ファイルとログ ファイルのアドホック完全バックアップを実行できます。 ストアド プロシージャは、adm_ForceFullBackup テーブルを値 1 で更新します。 次に BizTalk Server のバックアップ ジョブを実行すると、データベースの完全バックアップ セットが作成されます。

次のステップ

ログ配布用に宛先システムを構成する
バックアップ BizTalk Server ジョブのスケジュール設定
Azure ストレージ アカウントについて
SQL Server の URL へのバックアップ