ホストのロック更新時間

SQL Workflow Instance Store のホストのロック更新時間プロパティを使用すると、ホストがワークフロー インスタンスに対してロックを更新する時間を指定できます。 ロックは、ホストのロック更新時間 + 30 秒の間は有効です。 この期間内にホストがロックの更新 (つまり、リースを延長) に失敗した場合は、ロックの有効期限が切れ、永続化プロバイダーはインスタンスのロックを解除します。 このプロパティの値は TimeSpan 型で、"hh:mm:ss" の形式です。 最小許容値は "00:00:01" (1 秒) です。 このプロパティの既定値は "00:00:30" (30 秒) です。

このプロパティは、所有するワークフロー サービス インスタンスのロックを解除する前にワークフロー サービス ホストがエラーになった場合に重要です。 このような場合、ロックの有効期限が切れた後に永続プロバイダーによって永続性データベースのワークフロー サービス インスタンスのロックが削除され、サーバー ファーム内の同じコンピューターまたは別のコンピューターで実行されている別のワークフロー サービスホストがロックを取得してメモリにワークフロー サービス インスタンスを読み込み、最後の永続化状態から実行を再開できるようにします。

このプロパティに大きな値を設定すると、ワークフロー サービス インスタンスが永続性データベースで長時間ロックされ、最後の永続性ポイントからインスタンスが回復するのが遅くなります。 このプロパティに短い間隔を設定すると、ワークフロー サービス ホストの新しいインスタンスがすぐにエラーになったワークフロー サービス インスタンスを取得することになりますが、これによってワークフロー サービス ホストと SQL Server データベースの負荷が増加します。

SQL Workflow Instance Store が実行する内部タスクは、定期的にアクティブになり、有効期限切れのロックを持つインスタンスを検出します。 有効期限切れのロックを持つインスタンスが見つかると、そのインスタンスを RunnableInstances テーブルに置き、ワークフロー ホストがそのインスタンスを取得して実行できるようにします。