2011-03-03 51 views
0

我已經將應用程序安裝爲服務,並將「DependOnService」設置爲依賴於MSSQL $ SQLEXPRESS。在我的服務的屬性 - >依賴關係選項卡中,「SQL Server(SQLEXPRESS)」被列爲「此服務取決於以下系統組件:」。一切似乎都很好。但是,如果我停止SQL Server(SQLEXPRESS)服務並啓動我的服務,那麼它啓動就好了(除了無法訪問數據庫)。依賴項停止時的服務啓動

我希望我的服務要麼a)不啓動,因爲SQL Server沒有運行,或b)導致SQL Server啓動,以便我的服務可以啓動。但SQL Server仍然沒有運行,我的服務是。

我誤解了服務依賴關係的含義和錯誤閱讀文檔?我嘗試將ErrorControl值設置爲x03,並且它仍然啓動。任何解釋,想法或建議都會有所幫助。

+0

在開始服務時是否啓動了MSSQL $ SQLEXPRESS?我添加依賴項時看到的行爲是我的服務依賴的服務將嘗試首先啓動(例如MSSQL $ SQLEXPRESS)。我想知道是否沒有足夠的時間從SQLEXPRESS「啓動」,並且能夠在服務啓動之前接受連接?如果您的服務是在SQLEXPRESS之後開始的,那麼它可能會在啓動服務時出錯。只是一個想法。 – 2011-03-03 21:46:17

回答

2

不要破解註冊表!如果您希望某個服務依賴於另一個服務,請要求服務管理器設置依賴關係。例如:

sc config MyService depend= MSSQL$SQLEXPRESS 
+0

+1參考「sc」 – 2011-03-03 21:48:12

+0

一個很好的建議,我猜不出奇怪的是解決了這個問題。儘管它正在做的其他工作隱藏在其他地方,而不是在我的服務或SQL Server的註冊表中。 – 2011-03-03 22:52:10