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 ログインを作成します
SQL Server ログインを BizTalk Server データベース内の BTS_BACKUP_USERS データベース ロールにマップします。
すべてのノードで 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 Tracking データベースに直接書き込むのではなく、MessageBox データベースにデータをキャッシュし、BizTalk Tracking データベースに移動します。 メッセージ ボックス データの損失が発生した場合は、追跡データも一部が失われている可能性があります。
前提条件
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 URL へのバックアップの概要と具体的な手順について説明します。
ジョブを構成する
BizTalk 管理データベースをホストするSQL Serverで、SQL Server Management Studioを開き、SQL Serverに接続します。
[SQL Server エージェント] を展開し、[ジョブ] を展開します。
[バックアップ BizTalk Server (BizTalkMgmtDb)] を右クリックし、[ プロパティ] を選択します。 ジョブのプロパティで、[ステップ] を選択 します。
[ 圧縮オプションの設定 ] ステップを選択し、[編集] を選択 します。
この手順では、
sp_SetBackupCompression
BizTalk 管理データベース (BizTalkMgmtDb) のストアド プロシージャを呼び出して、テーブルの値をadm_BackupSettings
設定します。 ストアド プロシージャには、 @bCompressionという 1 つのパラメーターがあります。 既定では、 0 に設定されています (バックアップ圧縮はオフです)。 圧縮を適用するには、値を 1 に変更します。exec [dbo].[sp_SetBackupCompression] @bCompression = 1 /*0 - Do not use Compression, 1 - Use Compression */
[OK] を選択します。
[ BackupFull ] ステップを選択し、[編集] を選択 します。 [ コマンド ] ボックスで、パラメーター値を更新します。
頻度: 既定値は d (日単位) です。これは推奨設定です。 その他の値には、 h (時間単位)、 w (毎週)、 m (月単位)、 y (年単位) などがあります。
名前: 既定値は BTS です。 この名前は、バックアップ ファイル名の一部として使用されます。
バックアップ ファイルの場所: "<宛先パス>" を、BizTalk Server データベースをバックアップするコンピューターとフォルダーへの完全なパス (パスに単一引用符を含める必要があります) に置き換えるか、Blob Service エンドポイント URL を Azure BLOB ストレージ アカウントに置き換えます。
重要
ローカル パスを入力する場合、バックアップ BizTalk Server ジョブで新しいファイルが作成されるたびに、すべてのファイルをコピー先システムの同じフォルダーに手動でコピーする必要があります。
リモート パスを使用するには、\\<ServerName>\<SharedDrive>\ などの UNC 共有を入力します。ここで<、ServerName> はファイルが必要なサーバーの名前、<SharedDrive> は共有ドライブまたはフォルダーの名前です。
ネットワーク経由でデータをバックアップする場合は、ネットワークの影響を受けます。 リモートの場所を使用する場合は、バックアップ BizTalk Server ジョブが完了したときにバックアップが成功したことを確認します。
データ損失の可能性を回避するには、バックアップ ディスクを、データベースのデータ ディスクおよびログ ディスクとは異なるディスクに構成します。 これは、データやログのディスクに障害が発生した場合にバックアップにアクセスするために必須です。
Azure BLOB アカウントにバックアップする場合は、BLOB サービス エンドポイントの URL とコンテナー名を入力します。この名前は、Azure portalの BLOB サービスのプロパティに一覧表示されます。
省略可能。 部分バックアップが失敗した後に完全バックアップを強制する (@ForceFullBackupAfterPartialSetFailure): 既定値は 0 です。 ログ バックアップが失敗した場合、次の完全バックアップの頻度に達するまで、完全バックアップは実行されません。 ログ バックアップエラーが発生するたびに完全バックアップを実行する場合は、 を 1 に置き換えます。
省略可能。 バックアップ プロセスを実行するローカル時間 (@BackupHour): 既定値は NULL です。 バックアップ ジョブは、BizTalk Server コンピューターのタイム ゾーンに関連付けられていないので、午前 0 時 (UTC) (0000) に実行されます。 BizTalk Server コンピューターのタイム ゾーンで特定の時間にバックアップする場合は、0 (午前 0 時) から 23 (午後 11 時) までの整数値を現地時刻として入力します。
省略可能。 ローカル時刻を使用 する (@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] を選択します。
MarkAndBackupLog ステップを選択し、[編集] を選択します。 [ コマンド ] ボックスで、パラメーター値を更新します。
@MarkName: これは、バックアップ ファイルの名前付け規則の一部です。<サーバー名>_データベース名>_<Log_< ログ マーク名 >_<Timestamp>
@BackupPath: BizTalk Server データベース ログ、または Azure BLOB ストレージ アカウントとコンテナーを格納するコンピューターとフォルダーへの完全な宛先パス (単一引用符を含む)。 宛先パス>は<、ローカルまたは別のサーバーへの UNC パスにすることもできます。
MarkAndBackupLog ステップで、バックアップのログをマークした後、バックアップします。
重要
データ損失の可能性を回避し、パフォーマンスを向上させるには、<コピー先のパス>を、元のデータベース ログの格納に使用されているものとは異なる別のコンピューター (ハード ドライブ) に設定する必要があります。
[OK] を選択します。
[ バックアップ履歴のクリア ] ステップを選択し、[編集] を選択 します。 [ コマンド ] ボックスで、パラメーター値を更新します。
@DaysToKeep: 既定値は 14 日です。 バックアップ履歴をテーブルに保持する期間を
Adm_BackupHistory
指定します。 バックアップ履歴を定期的に消去すると、テーブルをAdm_BackupHistory
適切なサイズに維持するのに役立ちます。省略可能。 @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
Note
この手順 では、 バックアップ 先のパスからバックアップ ファイルは削除されません。
[ OK] を選択 し、すべてのプロパティ ウィンドウを閉じます。
省略可能。 バックアップのスケジュールを変更します。 「バックアップ BizTalk Server ジョブをスケジュールする方法」を参照してください。
Note
BizTalk Server のバックアップ ジョブは、初めて構成するとその際に実行されます。 既定では、後続の実行では、バックアップ BizTalk Server ジョブは 1 日に 1 回完全バックアップを完了し、ログ バックアップを 15 分ごとに完了します。
[バックアップ BizTalk Server ジョブ] を右クリックし、[有効にする] を選択します。 状態が [成功] に変わります。
Backup_Setup_All_Procs.sql と LogShipping_Destination_Logic.sql を実行する
BizTalk Server 2016 Feature Pack 2 (FP2) では、 の Backup_Setup_All_Procs.sql スクリプトと LogShipping_Destination_Logic.sql スクリプトが使用されました\Program Files (x86)\Microsoft BizTalk Server *your version*\Schema
。
バックアップ BizTalk Server ジョブが既に構成されていて、(ディスクではなく) Azure BLOB を使用するように切り替える場合は、次の操作も行います。
SQL Serverで、バックアップ BizTalk Server ジョブによってバックアップされているすべてのカスタム データベースに対してスクリプトを実行
Backup_Setup_All_Procs.sql
します。 既定では、FP2 は BizTalk データベースを自動的に更新します。カスタム データベース (BizTalkMgmtDb のテーブル内adm_OtherBackupDatabases
のデータベース) は更新されません。カスタム データベースのバックアップでは、カスタム データベースの詳細が提供されます。
ログ配布を使用する場合は、SQL Server内の宛先システムで LogShipping_Destination_Logic.sql スクリプトを実行します。 ログ配布を使用しない場合は、このスクリプトを実行しないでください。
宛先システムをログ配布用に構成すると、 宛先システムの詳細が表示されます。
sp_ForceFullBackup ストアド プロシージャ
BizTalkMgmtDb データベースのsp_ForceFullBackup ストアド プロシージャを使用して、データ ファイルとログ ファイルのアドホック完全バックアップを実行できます。 ストアド プロシージャで、adm_ForceFullBackup テーブルの値を 1 にして更新します。 次にバックアップ BizTalk Server ジョブを実行すると、データベースの完全バックアップ セットが作成されます。
次の手順
ログ配布用に送信先システムを構成する
BizTalk Server のバックアップ ジョブのスケジュールを設定する
Azure ストレージ アカウント
SQL Server Backup to URL