SQL Server のインスタンス (sqlservr.exe) を起動する方法

SQL Server データベース エンジンが起動しない場合、トラブルシューティング手順の 1 つは、コマンド プロンプトからデータベース エンジンを起動してみることです。このトピックでは、データベース エンジンのインスタンスを起動する方法について説明します。

注意

トラブルシューティングを行う場合は、SQL Server を必ずコマンド プロンプトから起動する必要があります。定型的な使用で SQL Server データベース エンジンを起動するには、「SQL Server のインスタンスを開始する方法 (SQL Server 構成マネージャー)」を参照してください。

通常の SQL Server の起動は複雑な操作であり、適切な場所に保存された SQL Server ファイル、SQL Server および Microsoft Windows サービスに対するレジストリ設定、さらに SQL Server サービスが使用するドメイン アカウントに対する適切なファイルおよびレジストリ権限が必要になります。したがって、一般的なトラブルシューティング手順では、環境を簡略化することによって理想的な状態で SQL Server を起動できるかどうかを調べます。通常、トラブルシューティングのプロセスは、Windows サービス コントロール マネージャーを使用せずに、ローカル管理者グループのアカウントを使用して SQL Server を起動できるかどうかという問題から始まります。起動が可能であれば、問題は、サービス コントロール マネージャーに関係しているか、または SQL Server サービスが使用しようとしているアカウントに割り当てられている権限に関係している可能性があります。起動が可能でない場合は、サービス コントロール マネージャーで今までに表示されていないエラー メッセージを示しているか、SQL Server のファイルまたはレジストリ設定の問題を示している可能性があります。

注記注意

SQL Server を起動できるかどうかのテスト以外の目的で、コマンド ラインから SQL Server を実行しないでください。コマンド ラインから SQL Server を起動した後に実行されたメンテナンス操作が原因で、エラーが発生する場合があります。たとえば、管理者としてログインし、新しいデータベースを作成するかデータ ファイルの場所を変更した場合、後で SQL Server サービスの通常のアカウントで実行したときに SQL Server からファイルにアクセスできない場合があります。

コマンド ラインから SQL Server を実行する場合は、次の制限に注意してください。

  • コマンド プロンプト ウィンドウを最小化すると、Windows によって SQL Server のほぼすべてのリソースが削除されます。これは正常で、SQL Server はその状態でも動作するようには設計されていません。

  • SQL Server は、セットアップ中に SQL Server を実行するために割り当てたアカウントのセキュリティ コンテキストではなく、ユーザーのセキュリティ コンテキストで実行されます。

  • すべてのシステム メッセージは、SQL Server のインスタンスの起動に使用したウィンドウに表示されます。

  • SQL Server Management Studio、SQL Server 構成マネージャー、コントロール パネルの [サービス] アプリケーション、または任意の net コマンド (net startnet pausenet continuenet stop など) を使用して、SQL Server のインスタンスを Microsoft Windows サービスとして一時停止、停止、または再開することはできません。

  • Windows からログオフする前に、SQL Server のインスタンスをシャットダウンする必要があります。

  • SQL Server セットアップによって Windows のレジストリに書き込まれた既定のコマンド プロンプト オプションより、入力したコマンド プロンプト オプションの方が優先されます。

  • SQL Server 構成マネージャーおよび SQL Server Management Studio には、サービスが停止中として表示されます。

SQL Server の適切なインスタンスの起動

既定では、sqlservr.exe は C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn にあります。SQL Server の 2 番目のインスタンスがインストールされている場合は、sqlservr.exe の 2 番目のコピーが C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\binn などのディレクトリにあります。別のインスタンスの sqlservr.exe を使用して SQL Server の 1 つのインスタンスを起動できますが、SQL Server では Service Pack などの不適切なインスタンスのバージョンも起動し、予期しない結果が発生する場合があります。この問題を回避するには、次の例で示すように、sqlservr.exe を起動する前に MS-DOS 変更ディレクトリ (cd) コマンドを使用して正しいディレクトリに移動してください。

cd \Program Files\Microsoft SQL Server\MSSQL10_50.1\MSSQL\Binn

コマンド プロンプトから SQL Server の既定のインスタンスを起動するには

  • コマンド プロンプトで、次のコマンドを入力します。

    sqlservr.exe
    
    sqlservr.exe
    

コマンド プロンプトから SQL Server の名前付きインスタンスを起動するには

  • コマンド プロンプトで、次のコマンドを入力します。<instancename> は、起動するインスタンスの名前に置き換えてください。

    sqlservr.exe -s <instancename>
    
    sqlservr.exe -s <instancename>
    

コマンド プロンプトからシングルユーザー モードで SQL Server の既定のインスタンスを起動するには

  • コマンド プロンプトで、次のコマンドを入力します。

    sqlservr.exe -m
    
    sqlservr.exe -m
    

    シングル ユーザー モードは、緊急メンテナンスを実行するために他のユーザーに SQL Server に接続させたくないときに役立ちますが、SQL Server エージェント サービスなどのユーザーがシングル ユーザーになることがあります。

コマンド プロンプトからシングルユーザー モードで SQL Server の名前付きインスタンスを起動するには

  • コマンド プロンプトで、次のコマンドを入力します。

    sqlservr.exe -m -s <instancename>
    
    sqlservr.exe -m -s <instancename>
    

最小構成で SQL Server の既定のインスタンスを起動するには

  • コマンド プロンプトで、次のコマンドを入力します。

    sqlservr.exe -f
    
    sqlservr.exe -f
    

最小構成で SQL Server の名前付きインスタンスを起動するには

  • コマンド プロンプトで、次のコマンドを入力します。

    sqlservr.exe -f -s <instancename>
    
    sqlservr.exe -f -s <instancename>