SQL Server サービスを開始するとサービス固有のエラー 17113 が発生する
適用対象: SQL Server
現象
Microsoft SQL Server では、 master
データベースはすべてのシステム レベルの情報を記録します。 master
データベースには、他のすべてのデータベースの存在、それらのデータベース ファイルの場所、および SQL Server の初期化情報も記録されます。 そのため、 master
データベースが使用できない場合、SQL Server を起動できません。
このシナリオで SQL Server を起動しようとすると、SQL Server サービスが起動せず、サービスの開始方法に応じて次のいずれかのエラー メッセージが表示されます。
Services アプレットを使用します。
Windows がローカル コンピューターで SQL Server (MSSQLSERVER) を起動できませんでした。 詳細については、システム イベント ログを確認してください。 Microsoft 以外のサービスの場合は、サービス ベンダーに問い合わせて、サービス固有のエラー コード 17113 を参照してください。
コマンド プロンプトを使用する方法:
C:\\>NET START MSSQLSERVER The SQL Server (MSSQLSERVER) service is starting. The SQL Server (MSSQLSERVER) service could not be started. A service specific error occurred: 17113. More help is available by typing NET HELPMSG 3547.
解決方法
SQL Server エラー ログを確認し 原因がmaster
データベースにアクセスできないことを確認します。 たとえば、次のようなログ エントリが表示される場合があります。<Datetime> Server Error: 17113, Severity: 16, State: 1. <Datetime> Server Error 2(The system cannot find the file specified.) occurred while opening file 'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\master.mdf' to obtain configuration information at startup. An invalid startup option might have caused the error. Verify your startup options, and correct or remove them if necessary.
master.mdf ファイルの場所を確認します。 パスが正しくない場合は、SQL Server 構成マネージャーまたはレジストリ エディターを使用してパスを修正します。
SQL Server 構成マネージャーを使用する方法:
Startを選択し、すべてのプログラムをポイントし、Microsoft SQL Server をポイントし、構成ツールをポイントして、SQL Server 構成マネージャーを選択します。
Note
SQL Server 構成マネージャーは Microsoft 管理コンソール プログラムのスナップインであり、スタンドアロン プログラムではないため、SQL Server 構成マネージャーは新しいバージョンの Windows ではアプリケーションとして表示されません。 Windows 11、10、または 8 でSQL Server 構成マネージャーを開くには、Windows のバージョンに合わせて次の手順に従います。
Windows 10 と 11:
- [スタート ページ] を選択し、「SQLServerManager13.msc (SQL Server 2016 (13.x) の場合)」と入力します。 SQL Server のバージョンが異なる場合は、13 を適切な数に置き換えます。
- SQLServerManager13.msc を選択して Configuration Manager を開きます。 Configuration Manager をスタート ページまたはタスク バーにピン留めするには、 SQLServerManager13.msc を右クリックし、[ファイルの場所 開く] を選択。
- Windows エクスプローラーで、SQLServerManager13.msc を右クリックし、[スタート画面にピン留めまたはタスク バーにピン留を選択。
Windows 8:
Windows ロゴ キーを押しながら Q キーを押して、検索チャームを開きます。 [アプリ] で、「 SQLServerManager<version_number>.msc (SQLServerManager13.msc など)」と入力し、Enter キーを押します。
SQL Server 構成マネージャーで、 [SQL Server のサービス] を選択します。
右ペインで、[SQL Server (<instance_name>)] を右クリックし、[プロパティ] を選択します。
[開始パラメーター] タブの [Existing Parameters セクションで、-d で始まる行を選択します。 現在の値は編集可能です。 スタートアップ パラメーター ボックスを指定します。 正しい値を反映するようにパスを修正し、 Updateを選択し、 OK を選択して変更を保存します。
SQL Server サービスを再起動します。
スタートアップ オプションの構成の詳細については、「サーバーのスタートアップ オプションの構成 (SQL Server 構成マネージャー)」を参照してください。
データベース エンジン サービスのスタートアップ オプションの詳細については、「データベース エンジン サービスのスタートアップ オプションを参照してください。
レジストリ エディターを使用する:
SQL Server インスタンスの
HKLM\Software\Microsoft\MicrosoftSQL Server\MSSQL{nn}.MyInstance
ハイブに移動します。MSSQLServer\Parameters
の下にある SQLArg0 値を見つけます。master
データベースの正しいパスを反映するように値を変更します。SQL Server サービスを再起動します。
master
データベースが存在していても使用できない場合は、次のいずれかの方法を使用して、データベースを使用可能な状態に戻すことができます。ファイルが配置されているフォルダーのサービス アカウントのアクセス許可を確認します。
サーバー インスタンスを起動できる場合は データベースの完全バックアップからマスター データベースを復元します。
master
データベースに対するサーバーの損傷によって SQL Server の起動が妨げる場合は、マスター データベースビルドします。注意事項
master
データベースを再構築すると、すべてのシステム データベースが再構築されます。 そのため、これらのデータベースに対するユーザーの変更はすべて失われます。