システムの再起動後にデータベースクライアントがSQL Serverを起動して実行することを保証するには、サービスの依存関係では不十分です。彼らは、マスターデータベースへの接続を作成することができるかもしれませんが、特定のデータベースが(回復モードで)開かれているプロセスの中にあるかもしれませんし、それへの接続は、ある程度の期間、拒否されます。データベースクライアント:SQL Serverの再起動後にデータベースのアクティブ化を待つ方法
遅延の正確な持続時間は非常に可変で、システム上のデータベース数、リカバリモード、LDFファイルサイズ、または再起動前のトラフィックなどの要因によって異なります。
クライアントへの依存を処理するよく知られた方法は、スリープして再試行することです。しかし、このアプローチは、特にクライアントが技術や所有権の面で多様である場合や、この競合状態がごくまれにしか現れない場合には、きれいで信頼できるものではありません。
すべてのデータベースが開かれているか疑わしいとマークされるまで、SQL Serverサービスを「開始」状態に保つことによって、クライアントをサーバーの起動と同期させるより良い方法はありますか?