シングル ユーザー モードでの SQL Server の起動Start SQL Server in Single-User Mode

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

特定の状況では、 SQL ServerSQL Serverstartup option -mを使用して、 のインスタンスをシングル ユーザー モードで起動する必要が生じる場合があります。Under certain circumstances, you may have to start an instance of SQL ServerSQL Server in single-user mode by using the startup option -m. たとえば、サーバーの構成オプションを変更したり、破損した master データベースや他のシステム データベースを復旧したりすることがあります。For example, you may want to change server configuration options or recover a damaged master database or other system database. いずれの場合も、 SQL ServerSQL Server のインスタンスをシングル ユーザー モードで起動する必要があります。Both actions require starting an instance of SQL ServerSQL Server in single-user mode.

SQL ServerSQL Server をシングル ユーザー モードで起動すると、コンピューターのローカル Administrators グループのメンバーはすべて、固定サーバー ロール sysadmin のメンバーとして SQL ServerSQL Server のインスタンスに接続できるようになります。Starting SQL ServerSQL Server in single-user mode enables any member of the computer's local Administrators group to connect to the instance of SQL ServerSQL Server as a member of the sysadmin fixed server role. 詳細については、「 システム管理者がロックアウトされた場合の SQL Server への接続」を参照してください。For more information, see Connect to SQL Server When System Administrators Are Locked Out.

シングル ユーザー モードで SQL ServerSQL Server のインスタンスを起動する場合は、次の点に注意してください。When you start an instance of SQL ServerSQL Server in single-user mode, note the following:

  • 1 人のユーザーのみがサーバーに接続できます。Only one user can connect to the server.

  • CHECKPOINT プロセスは実行されません。The CHECKPOINT process is not executed. 既定では、このプロセスは、起動時に自動的に実行されます。By default, it is executed automatically at startup.

注意

シングル ユーザー モードの場合、 SQL ServerSQL Server のインスタンスに接続する前に SQL ServerSQL Server エージェント サービスを停止してください。そうしないと、 SQL ServerSQL Server エージェント サービスによってその接続が使用されるため、SQL Server のインスタンスがブロックされます。Stop the SQL ServerSQL Server Agent service before connecting to an instance of SQL ServerSQL Server in single-user mode; otherwise, the SQL ServerSQL Server Agent service uses the connection, thereby blocking it.

シングル ユーザー モードで SQL ServerSQL Server のインスタンスを起動すると、 SQL Server Management StudioSQL Server Management StudioSQL ServerSQL Serverに接続できます。When you start an instance of SQL ServerSQL Server in single-user mode, SQL Server Management StudioSQL Server Management Studio can connect to SQL ServerSQL Server. Management StudioManagement Studio のオブジェクト エクスプローラーでは、一部の操作で複数の接続が必要になるため失敗することがあります。Object Explorer in Management StudioManagement Studio might fail because it requires more than one connection for some operations. SQL ServerSQL Server をシングル ユーザー モードで管理するには、 Transact-SQLTransact-SQL のクエリ エディターのみを介して接続することにより Management StudioManagement Studioステートメントを実行するか、 sqlcmd ユーティリティを使用します。To manage SQL ServerSQL Server in single-user mode, execute Transact-SQLTransact-SQL statements by connecting only through the Query Editor in Management StudioManagement Studio, or use the sqlcmd utility.

SQLCMD または -mManagement StudioManagement Studio オプションを使用すると、接続を特定のクライアント アプリケーションに限定できます。When you use the -m option with SQLCMD or Management StudioManagement Studio, you can limit the connections to a specified client application.

注意

Linux では、SQLCMD は、このように大文字で入力する必要があります。On Linux, SQLCMD must be capitalized as shown.

たとえば、 -m"SQLCMD" を使用すると、接続が、SQLCMD クライアント プログラムとして識別される必要がある単一の接続に限定されます。For example, -m"SQLCMD" limits connections to a single connection and that connection must identify itself as the SQLCMD client program. このオプションは、 SQL ServerSQL Server をシングル ユーザー モードで起動するときに、その唯一の接続を不明なクライアント アプリケーションによって使用されていた場合に使用します。Use this option when you are starting SQL ServerSQL Server in single-user mode and an unknown client application is taking the only available connection. Management StudioManagement Studioのクエリ エディターを使用して接続するには、 -m"Microsoft SQL Server Management Studio - Query" を使用します。To connect through the Query Editor in Management StudioManagement Studio, use -m"Microsoft SQL Server Management Studio - Query".

重要

このオプションをセキュリティ機能として使用しないでください。Do not use this option as a security feature. クライアント アプリケーションの名前はクライアント アプリケーションによって接続文字列の一部として指定されるため、本当の名前が指定されるとは限りません。The client application provides the client application name, and can provide a false name as part of the connection string.

クラスター化インストールに関する注意Note for Clustered installations

クラスター環境に SQL ServerSQL Server をインストールした場合、 SQL ServerSQL Server をシングル ユーザー モードで起動すると、利用可能な接続がクラスター リソースの dll によって占有され、サーバーに対する他の接続がブロックされます。For SQL ServerSQL Server installation in a clustered environment, when SQL ServerSQL Server is started in single user mode, the cluster resource dll uses up the available connection thereby blocking any other connections to the server. SQL ServerSQL Server がこの状態に陥ると、 SQL ServerSQL Server エージェントのリソースをオンラインに戻そうとしたときに、SQL のリソースが別のノードにフェールオーバーされる可能性があります (リソースがそのグループに影響するように構成されていた場合)。When SQL ServerSQL Server is in this state, if you try to bring SQL ServerSQL Server Agent resource online, it may fail over the SQL resource to a different node if the resource is configured to affect the group.

この問題を回避するには、次の手順に従います。To get around the problem use the following procedure:

  1. SQL ServerSQL Server の詳細プロパティから起動時のパラメーター –m を削除します。Remove the -m startup parameter from the SQL ServerSQL Server advanced Properties.

  2. SQL ServerSQL Server リソースをオフラインにします。Take the SQL ServerSQL Server resource offline.

  3. このグループの現在の所有者ノードのコマンド プロンプトで、次のコマンドを発行します:From the current owner node of this group, issue the following command from the command prompt:
    net start MSSQLSERVER /mnet start MSSQLSERVER /m.

  4. クラスター アドミニストレーターまたはフェールオーバー クラスター管理コンソールから、 SQL ServerSQL Server リソースがまだオフライン状態にあるかどうかを確認します。Verify from the cluster administrator or failover cluster management console that the SQL ServerSQL Server resource is still offline.

  5. ここで、次のコマンドを使用して SQL ServerSQL Server に接続し、必要な操作を行います: SQLCMD -E -S<servername>Connect to the SQL ServerSQL Server now using the following command and do the necessary operation: SQLCMD -E -S<servername>.

  6. 操作が完了したら、コマンド プロンプトを閉じ、クラスター アドミニストレーターから SQL および他のリソースをオンラインに戻します。Once the operation is complete, close the command prompt and bring back the SQL and other resources online through cluster administrator.

参照See Also

SQL Server エージェント サービスの開始、停止、または一時停止 Start, Stop, or Pause the SQL Server Agent Service
データベース管理者用の診断接続 Diagnostic Connection for Database Administrators
sqlcmd ユーティリティ sqlcmd Utility
CHECKPOINT (Transact-SQL) CHECKPOINT (Transact-SQL)
sp_configure (Transact-SQL) sp_configure (Transact-SQL)
データベース エンジン サービスのスタートアップ オプションDatabase Engine Service Startup Options