5

installutil を使用して Windows サービスをインストールし、「自動開始」に設定しています。私の問題は、一部のサーバーを再起動すると、「Microsoft SQL サービス」が開始する前に開始しようとすることです。これは、システムの再起動中にイベント ログを確認することで確認できます。SQLサーバーサービスが開始された後にサービスを「自動開始」する最良の方法は何ですか?

「SQLサーバーエージェント」が開始され、それがWindowsサービスを開始するときに開始するように設定されたSQLジョブを作成するという考えをいじっています。しかし、自動サービスの起動順序を制御する簡単で効果的な方法があることを願っています。

4

4 に答える 4

5

各 Windows サービスには、依存する他のサービスのリストがあります。つまり、依存関係が開始されるまで待ってから開始しようとし、依存関係が開始されたときに自動的に開始されなかった場合は開始します。

.NET で Windows サービスを作成している場合は、次のブログ投稿が役立つ可能性があります。

方法: コード サービスの依存関係

それ以外の場合は、レジストリを介してサービスの依存関係を追加する方法を詳しく説明している Microsoft kb エントリがここにあります。

特定のサービスの読み込みを遅らせる方法

于 2009-01-14T02:47:41.340 に答える
2

バッチスクリプトでこれを実行したい場合は、以下が役立ちます

REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\%ServiceKey%" /v "DependOnService" /t REG_MULTI_SZ /d "Service Number 01\0Service Number 02"

これはreg.exeを使用し ますここを参照してください

于 2010-05-11T15:57:03.957 に答える
2

依存関係は魅力的ですが、SQL Server の場合、システムの長期的な設計に悪影響を与える可能性があります。アプリが成功し、クライアントが別のボックスの別の SQL サーバーに移動するか、フェールオーバー クラスターに移動するかを検討してください。

より良い設計は、サービスの起動時に再試行/タイムアウト ロジックを配置することです。これにより、SQL Server (おそらく別のマシン上でも) に接続しようとし、待機して試行し、正常に失敗します。

于 2010-10-18T17:50:57.743 に答える
2

サービス間の依存関係を設定できます。

ここを参照してください:

于 2009-01-14T02:45:14.790 に答える