SQL Server 服務和 SQL Server 代理程式服務無法在獨立伺服器上啟動

本文可協助您解決在獨立伺服器上,SQL Server 服務和 SQL Server 代理程式服務可能無法啟動的問題。

原始產品版本:   Sqlserver
原始 KB 編號:   307288

徵狀

  • 問題1:在獨立伺服器上,MSSQLSERVER 服務可能無法啟動,而且您會收到下列錯誤訊息:

    錯誤 1068- (相依服務或群組無法啟動。 ) 在 MSSQLServer 服務上執行此服務作業時發生。

  • 問題2:同樣地,SQLServerAgent 服務也可能無法啟動,而且您會收到下列錯誤訊息:

    錯誤 1068- (相依服務或群組無法啟動。 ) 在 SQLServerAgent 服務上執行此服務作業時發生。

    當下列兩個條件皆為真時,就會發生問題1和問題2:

    • 伺服器電腦在工作組中,而不是網域的一部分。
    • MSSQLSERVER 和 SQLServerAgent 服務都設定為使用網域帳戶進行啟動。
  • 問題3:在網域成員伺服器上,MSSQLSERVER 服務可能無法在伺服器啟動期間啟動,而且您會收到下列錯誤訊息:

    MSSQLSERVER 服務無法使用目前設定的密碼登入 domain\mssqlsvc,因為發生下列錯誤:來源: NetLogon 描述:目前沒有可供服務登入要求使用的登入伺服器。 MSSQLSERVER 服務意外終止。

當下列所有條件皆為真時,就會發生此問題:

  • 伺服器是網域的一部分。
  • MSSQLSERVER 和 SQLServerAgent 服務都設定為使用網域帳戶進行啟動。
  • MSSQLSERVER 和 SQLServerAgent 的啟動模式設定為 [自動]。

原因

問題1和問題2發生因為伺服器是獨立的電腦,所以 NetLogon 服務不會在伺服器上啟動,因此不可能進行全域登入驗證。

發生問題3是因為在 NetLogon 服務啟動之前,SQL Server 服務會嘗試啟動。

解決方案

若要修正問題1和問題2,請遵循下列步驟:

  • 變更 MSSQLSERVER 和 SQLServerAgent 的啟動帳戶,以使用本機系統帳戶。

  • 重新啟動伺服器。

若要修正問題3,請使用下列解決方法:

  • 針對特定 Windows 伺服器將 SQL Server 啟動設定為 延遲啟動 ,其他 windows 服務(例如,NetLogon 第一次完成)和 sql Server 會在沒有問題的情況下啟動。

  • 設定 SQL Server 啟動以 重試,啟動可以在第二次啟動嘗試時完成。

  • 將伺服器上所有網路介面的重複位址偵測 (-DadTransmits) 值變更為1。 如需詳細資訊,請參閱命令 組 NetIPInterface

  • 變更 SQL Server 和 SQL Server 代理程式服務的 復原選項。 指定 [ 重新開機服務 ] 做為 [失敗] 選項的動作。 您可以使用熟悉的服務控制管理員介面,從 [系統管理工具] 的 [服務] applet 程式中執行此選項。

如果 [ 延遲啟動 ] 選項無法修正此問題3,您可以將下列相依性新增至 SQL Server 服務:

  • Ip helper service
  • 伺服器服務
  • 網路清單服務

您可以使用下列命令新增相依性:

sc.exe qc MSSQLSERVER ::view dependencies sc.exe config MSSQLSERVER depend=iphlpsvc/LanmanServer/netprofm ::add service dependencies

其他相關資訊

在獨立電腦上,NetLogon 服務應設定為 手動 啟動。