次の方法で共有


SQL Server サービスと SQL Server エージェント サービスがスタンドアロン サーバーで開始できない

この記事は、SQL Server サービスと SQL Server エージェント サービスがスタンドアロン サーバーで起動しない可能性がある問題を解決するのに役立ちます。

元の製品バージョン: SQL Server
元の KB 番号: 307288

現象

  • 問題 1: スタンドアロン サーバーでは、MSSQLSERVER サービスの起動に失敗し、次のエラー メッセージが表示される場合があります。

    An error 1068 - (The dependency service or group failed to start.) occurred while performing this service operation on the MSSQLServer Service.
    
  • 問題 2: 同様に、SQLServerAgent サービスの起動に失敗し、次のエラー メッセージが表示される場合があります。

    An error 1068 - (The dependency service or group failed to start.) occurred while performing this service operation on the SQLServerAgent Service.
    

    問題 1次の両方の条件に該当する場合は が発生します。

    • サーバー コンピューターはワークグループ内にあり、ドメインの一部ではありません。
    • MSSQLSERVER サービスと SQLServerAgent サービスの両方が、スタートアップにドメイン アカウントを使用するように設定されています。
  • 問題 3: ドメイン メンバー サーバーでは、サーバーの起動時に MSSQLSERVER サービスが開始されず、イベント ID が 7038 のイベント ビューアーに次のメッセージが表示される場合があります。

    The MSSQLSERVER service was unable to log on as domain\mssqlsvc with the currently configured password due to the following error: Source: NetLogon Description: There are currently no logon servers available to service the logon request. The MSSQLSERVER service terminated unexpectedly.
    

    この問題は、次のすべての条件に該当する場合に発生します。

    • サーバーはドメインの一部です。
    • MSSQLSERVER サービスと SQLServerAgent サービスの両方が、スタートアップにドメイン アカウントを使用するように設定されています。
    • MSSQLSERVER と SQLServerAgent のスタートアップ モードは、 Automatic に設定されます。

原因

問題 1サーバーがスタンドアロン コンピューターであり、NetLogon サービスがサーバー上で起動しないため、2 が発生します。 そのため、ドメイン全体のログオン認証は実行できません。

問題 3 は、SQL Server サービスが NetLogon サービスの開始前に開始を試みるために発生します。

解決方法

  • Issue 1 および Issue 2 を修正するには、次の手順に従います。

    1. ローカル システム アカウントを使用するように、MSSQLSERVER と SQLServerAgent の両方のスタートアップ アカウントを変更します。
    2. サーバーを再起動します。

    Note

    スタンドアロン コンピューターでは、NetLogon サービスを manual スタートアップ用に設定する必要があります。

  • Issue 3を修正するには、次の回避策を使用します。

    • 特定の Windows サーバーに対して、sql Server の起動を 詳細な開始 に構成します。 NetLogon などの他の Windows サービスは最初に完了し、SQL Server は問題なく起動します。

    • retryに SQL Server スタートアップを構成します。 スタートアップは、2 回目の起動時に完了できます。

    • 重複アドレス検出 (-DadTransmits) の値を、サーバー上のすべてのネットワーク インターフェイスの 1 に変更します。 詳細については、コマンド Set-NetIPInterface を参照してください。

    • SQL Server およびSQL Server エージェント サービスの Recovery オプションを変更します。 エラー オプション アクションとして サービスを開始するように指定します。 このオプションは、使い慣れたサービス コントロール マネージャー インターフェイスを使用して、管理ツールの [サービス] アプレットから実行できます。

    delayed start オプションで Issue 3 を修正できない場合は、次の依存関係を SQL Server サービスに追加します。

    • Ip ヘルパー サービス
    • サーバー サービス
    • ネットワーク リスト サービス

    依存関係を追加するには、次のコマンドを使用します。 次の例では、既定の SQL Server インスタンス MSSQLSERVERを想定しています。 名前付きインスタンスの場合は、 MSSQL$INSTANCENAMEを使用します。

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

    最初と 3 番目のコマンドでは、変更の前後に依存関係が表示されます。