特定の状況では、 スタートアップ オプション -m を使用して、シングル ユーザー モードで SQL Server のインスタンスを起動する必要がある場合があります。たとえば、サーバー構成オプションを変更したり、破損したマスター データベースやその他のシステム データベースを回復したりできます。 どちらのアクションでも、単一ユーザー モードで SQL Server のインスタンスを開始する必要があります。
SQL Server をシングル ユーザー モードで起動すると、コンピューターのローカル Administrators グループのメンバーはすべて、固定サーバー ロール sysadmin のメンバーとして SQL Server のインスタンスに接続できるようになります。 詳細については、「 システム管理者がロックアウトされたときに SQL Server に接続する」を参照してください。
シングル ユーザー モードで SQL Server のインスタンスを起動する場合は、次の点に注意してください。
1 人のユーザーのみがサーバーに接続できます。
CHECKPOINT プロセスは実行されません。 既定では、起動時に自動的に実行されます。
注
シングル ユーザー モードで SQL Server のインスタンスに接続する前に、SQL Server エージェント サービスを停止します。それ以外の場合、SQL Server エージェント サービスは接続を使用して、接続をブロックします。
SQL Server のインスタンスをシングル ユーザー モードで起動すると、SQL Server Management Studio は SQL Server に接続できます。 一部の操作に複数の接続が必要なため、Management Studio のオブジェクト エクスプローラーが失敗する可能性があります。 シングル ユーザー モードで SQL Server を管理するには、Management Studio のクエリ エディター経由でのみ接続して Transact-SQL ステートメントを実行するか、 sqlcmd ユーティリティを使用します。
sqlcmd または Management Studio で -m オプションを使用する場合は、指定したクライアント アプリケーションへの接続を制限できます。 たとえば、 -m"sqlcmd" は接続を 1 つの接続に制限し、その接続はそれ自体を sqlcmd クライアント プログラムとして識別する必要があります。 このオプションは、 SQL Server をシングル ユーザー モードで起動するときに、その唯一の接続を不明なクライアント アプリケーションによって使用されていた場合に使用します。 Management Studio のクエリ エディターを使用して接続するには、 -m"Microsoft SQL Server Management Studio - Query" を使用します。
重要
このオプションはセキュリティ機能として使用しないでください。 クライアント アプリケーションの名前はクライアント アプリケーションによって接続文字列の一部として指定されるため、本当の名前が指定されるとは限りません。
クラスター化されたインストールに関する注意
クラスター環境での SQL Server インストールの場合、SQL Server がシングル ユーザー モードで起動されると、クラスター リソース dll は使用可能な接続を使用するため、サーバーへの他の接続がブロックされます。 SQL Server がこの状態の場合、SQL Server エージェント リソースをオンラインにしようとすると、リソースがグループに影響するように構成されている場合、SQL リソースが別のノードにフェールオーバーされる可能性があります。
この問題を回避するには、次の手順に従います。
SQL Server の詳細プロパティから -m スタートアップ パラメーターを削除します。
SQL Server リソースをオフラインにします。
このグループの現在の所有者ノードから、コマンド プロンプトから次のコマンドを発行します。
net start MSSQLSERVER /m.クラスター管理者またはフェールオーバー クラスター管理コンソールから、SQL Server リソースがまだオフラインであることを確認します。
次のコマンドを使用して SQL Server に接続し、必要な操作を実行します:SQLCMD -E -S<servername>。
操作が完了したら、コマンド プロンプトを閉じ、クラスター管理者を介して SQL やその他のリソースをオンラインに戻します。
こちらもご覧ください
SQL Server エージェント サービスの開始、停止、または一時停止
データベース管理者用の診断接続
sqlcmd ユーティリティ
CHECKPOINT (Transact-SQL)
sp_configure (Transact-SQL)
データベース エンジン サービスのスタートアップ オプション