適用対象:Windows 上の SQL Server
この記事では、SQL Server 構成マネージャー、SQL Server Management Studio (SSMS)、コマンド プロンプトからの net コマンド、Transact-SQL、または PowerShell を使用して、Windows で SQL Server データベース エンジン、SQL Server エージェント、または SQL Server Browser サービスを開始、停止、一時停止、再開、または再起動する方法について説明します。
SQL Server on Linux の場合は、「Linux で SQL Server サービスを開始、停止、再起動する」を参照してください。
サービスを識別する
SQL Server コンポーネントは、Windows サービスとして実行される実行可能プログラムです。 Windows サービスを実行するために、コンピューター画面にアクティビティを表示する必要はなく、コマンド ラインでのユーザー操作も必要ありません。
| サービス | 説明 |
|---|---|
| データベース エンジン サービス | データベース エンジン サービスは、既定のインスタンス (1 台のコンピューターにつき 1 つのみ) とすることも、コンピューター上のさまざまな名前付きインスタンスの中の 1 つとすることもできます。 コンピューターにインストールされているデータベース エンジンのインスタンスを見つけるには、SQL Server 構成マネージャーを使用します。 既定のインスタンス (インストールした場合) は、SQL Server (MSSQLSERVER) として表示されます。 名前付きインスタンス (インストールした場合) は、SQL Server (<instance_name>) として表示されます。 既定では、SQL Server Express は SQL Server (SQLEXPRESS) としてインストールされます。 |
| SQL Server エージェント サービス | SQL Server エージェント サービスは、ジョブとアラートと呼ばれるスケジュールされた管理タスクを実行します。 詳しくは、「 SQL Server エージェント」をご覧ください。 SQL Server エージェントは、SQL Server のすべてのエディションで使用できるわけではありません。 SQL Serverのエディションでサポートされている機能一覧については、「SQL Server 2025のエディションおよびサポート機能」をご覧ください。 |
| SQL Server Browser サービス | SQL Server Browser サービスは、SQL Server の各種リソースに関する着信要求を受信し、コンピューターにインストールされている SQL Server インスタンスに関するクライアント情報を提供します。 SQL Server Browser サービスの単一のインスタンスが、コンピューターにインストールされている SQL Server のすべてのインスタンスで使用されます。 |
データベース エンジン サービスを一時停止すると、既に接続しているユーザーは接続が切断されるまで作業を続行できますが、新しいユーザーはデータベース エンジンに接続することができなくなります。 一時停止は、ユーザーの作業完了を待ってサービスを停止させる場合に使います。これにより、実行中のトランザクションを完了させることができます。 "再開" すると、データベース エンジンが再び新しい接続を受け入れられるようになります。 SQL Server エージェント サービスを一時停止および再開することはできません。
SQL Server 構成マネージャーおよび SSMS では、次のアイコンを使用してサービスの現在の状態が表示されます。
| SQL Server 構成マネージャー | SQL Server Management Studio (SSMS) | |
|---|---|---|
| 開始 | サービス名の隣にあるアイコン上の緑色の矢印 | サービス名の隣にある緑色の円形のアイコン上の白い矢印 |
| 停止 | サービス名の隣にあるアイコン上の赤い四角 | サービス名の隣にある、赤い円の中に白い四角があるアイコン |
| 一時停止 | サービス名の隣にあるアイコン上の 2 本の青い縦線 | サービス名の隣にある青い円形のアイコン上の 2 本の白い縦線 |
| 再起動 | サービスが停止したことが赤い四角形によって示された後、サービスが正常に開始されたことが緑色の矢印によって示されます | なし |
SQL Server 構成マネージャーや SSMS を使う場合、サービスの状態によっては、すべての可能なオプションにアクセスできないことがあります。 たとえば、サービスが既に開始されている場合、 [開始] は利用できません。
クラスターで実行中の SQL Server データベース エンジン サービスを管理するには、クラスター アドミニストレーターを使用するのが最適です。
アクセス許可
サービスを開始、停止、一時停止、再開、または再起動できるのは、既定ではローカル管理者グループのメンバーだけです。 管理者以外のユーザーにサービスの管理権限を付与するには、「ユーザーにサービスの管理権限を付与する方法」を参照してください。 (Windows Server の他のバージョンでも処理は同じです)。
Transact-SQL の SHUTDOWN コマンドを使用してデータベース エンジンを停止するには、sysadmin または serveradmin の固定サーバー ロールのメンバーシップが必要です。この権限を譲渡することはできません。
SQL Server 構成マネージャー
SQL Server 構成マネージャーは Microsoft 管理コンソール プログラムのスナップインであり、一部のWindows のバージョンによっては、アプリケーションとして表示されません。 詳細については、「 SQL Server 構成マネージャー」を参照してください。
SQL Server 構成マネージャーを開始する
[スタート] メニューから、[すべてのプログラム] > [Microsoft SQL Server] > [構成ツール] > [SQL Server 構成マネージャー] を選びます。
SQL Server データベース エンジンのインスタンスを開始、停止、一時停止、再開、または再起動する
前のセクションの手順を使用して、SQL Server 構成マネージャーを開始します。
[ユーザー アカウント制御] ダイアログ ボックスが表示されたら、 [はい] を選びます。
SQL Server 構成マネージャーの左側のペインで、 [SQL Server のサービス] を選びます。
結果ペインで [SQL Server (MSSQLServer)] または名前付きインスタンスを右クリックし、 [開始] 、 [停止] 、 [一時停止] 、 [再開] 、または [再起動] を選びます。
[OK] を選んで、SQL Server 構成マネージャーを閉じます。
スタートアップ オプションを指定してデータベース エンジンのインスタンスを開始する方法については、「SQL Server 構成マネージャー: サーバーのスタートアップ オプションの構成」をご覧ください。
重要
SQL Server 2022 (16.x) 以降では、SQL Server サービスの [開始モード] を構成マネージャーで [自動] に設定すると、[開始モード] が [自動] と表示されている場合でも、サービスは代わりに [自動 (遅延開始)] モードで開始されます。
SQL Server Browser または SQL Server エージェントのインスタンスを開始、停止、一時停止、再開、または再起動する
前のセクションの手順を使用して、SQL Server 構成マネージャーを開始します。
[ユーザー アカウント制御] ダイアログ ボックスが表示されたら、 [はい] を選びます。
SQL Server 構成マネージャーの左側のペインで、 [SQL Server のサービス] を選びます。
結果ウィンドウで [SQL Server Browser] または [SQL Server エージェント (MSSQLServer)] を右クリックするか、名前付きインスタンスの場合には [SQL Server エージェント (<instance_name>)] を右クリックし、[開始]、[停止]、[一時停止]、[再開]、または [再起動] を選びます。
[OK] を選んで、SQL Server 構成マネージャーを閉じます。
注記
SQL Server エージェントを一時停止することはできません。
SQL Server Management Studio
SQL Server Management Studio を使用して、SQL Server データベース エンジン サービスを管理します。
データベース エンジンのインスタンスを開始、停止、一時停止、再開、または再起動する
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、開始するデータベース エンジンのインスタンスを右クリックして、[開始]、[停止]、[一時停止]、[再開]、または [再起動] を選択します。
または、[登録済みサーバー] で、開始するデータベース エンジンのインスタンスを右クリックし、[サービス コントロール] をポイントし、[開始]、[停止]、[一時停止]、[再開]、または [再起動] を選択します。
[ユーザー アカウント制御] ダイアログ ボックスが表示されたら、 [はい] を選びます。
操作するかどうかを確認するメッセージが表示されたら、 [はい] を選びます。
SQL Server エージェントのインスタンスを開始、停止、または再起動する
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、[SQL Server エージェント] を右クリックして、[開始]、[停止]、または [再起動] を選択します。
[ユーザー アカウント制御] ダイアログ ボックスが表示されたら、 [はい] を選びます。
操作するかどうかを確認するメッセージが表示されたら、 [はい] を選びます。
コマンド プロンプト ウィンドウでの net コマンドの使用
Windows の net コマンドを使用して、SQL Server サービスを開始、停止、または一時停止できます。
データベース エンジンの既定のインスタンスを開始する
コマンド プロンプトで、次のいずれかのコマンドを入力します。
net start "SQL Server (MSSQLSERVER)"
-または-
net start MSSQLSERVER
データベース エンジンの名前付きインスタンスを開始する
コマンド プロンプトで、次のいずれかのコマンドを入力します。 <instancename> は、管理するインスタンスの名前に置き換えます。
net start "SQL Server (instancename)"
-または-
net start MSSQL$instancename
スタートアップ オプションを使用してデータベース エンジンを開始する
net start "SQL Server (MSSQLSERVER)" ステートメントの末尾に、スタートアップ オプションをスペースで区切って追加します。
net start を使用して起動するときは、スタートアップ オプションでハイフン (-) の代わりにスラッシュ (/) を使用します。
net start "SQL Server (MSSQLSERVER)" /f /m
-または-
net start MSSQLSERVER /f /m
注記
スタートアップ オプションの詳細については、「 データベース エンジン サービスのスタートアップ オプション」をご覧ください。
SQL Server の既定のインスタンスで SQL Server エージェントを開始する
コマンド プロンプトで、次のいずれかのコマンドを入力します。
net start "SQL Server Agent (MSSQLSERVER)"
-または-
net start SQLSERVERAGENT
SQL Server の名前付きインスタンスで SQL Server エージェントを開始する
コマンド プロンプトで、次のいずれかのコマンドを入力します。 instancename は、管理するインスタンスの名前に置き換えます。
net start "SQL Server Agent (instancename)"
-または-
net start SQLAgent$instancename
トラブルシューティングのために詳細モードで SQL Server エージェントを実行する方法については、 sqlagent アプリケーションを参照してください。
SQL Server Browser を開始する
コマンド プロンプトで、次のいずれかのコマンドを入力します。
net start "SQL Server Browser"
-または-
net start SQLBrowser
コマンド プロンプト ウィンドウからサービスを一時停止または停止する
サービスを一時停止または停止するには、次のようにコマンドを変更します。
- サービスを一時停止するには、
net startをnet pauseに置き換えます。 - サービスを停止するには、
net startをnet stopに置き換えます。
Transact-SQL
SHUTDOWN ステートメントを使用して、データベース エンジンを停止できます。
Transact-SQL を使用してデータベース エンジンを停止する
現在実行中の Transact-SQL ステートメントおよびストアド プロシージャが終了するまで待機してからデータベース エンジンを停止するには、次のステートメントを実行します。
SHUTDOWN;データベース エンジンを直ちに停止するには、次のステートメントを実行します。
SHUTDOWN WITH NOWAIT;
SHUTDOWN ステートメントについて詳しくは、「SHUTDOWN」をご覧ください。
PowerShell
PowerShell を使用して SQL Server データベース エンジン サービスを管理できます。
データベース エンジン サービスを開始および停止する
SQL Server PowerShell コマンド プロンプトで、次のコマンドを実行します。
computernameは自分のコンピューター名に置き換えます。# Get a reference to the ManagedComputer class. CD SQLSERVER:\SQL\computername $Wmi = (get-item .).ManagedComputer停止または開始するサービスを指定します。 以下のいずれかの行を選択してください。
instancenameは名前付きインスタンスの名前に置き換えます。データベース エンジンの既定のインスタンスへの参照を取得する場合
$DfltInstance = $Wmi.Services['MSSQLSERVER']データベース エンジンの名前付きインスタンスへの参照を取得する場合
$DfltInstance = $Wmi.Services['MSSQL$instancename']データベース エンジンの既定のインスタンスの SQL Server エージェント サービスへの参照を取得する場合
$DfltInstance = $Wmi.Services['SQLSERVERAGENT']データベース エンジンの名前付きインスタンスの SQL Server エージェント サービスへの参照を取得する場合
$DfltInstance = $Wmi.Services['SQLAGENT$instancename']SQL Server Browser サービスへの参照を取得する場合
$DfltInstance = $Wmi.Services['SQLBROWSER']
例を実行して、選択したサービスを開始し、停止します。
# Display the state of the service. $DfltInstance # Start the service. $DfltInstance.Start(); # Wait until the service has time to start. # Refresh the cache. $DfltInstance.Refresh(); # Display the state of the service. $DfltInstance # Stop the service. $DfltInstance.Stop(); # Wait until the service has time to stop. # Refresh the cache. $DfltInstance.Refresh(); # Display the state of the service. $DfltInstance
無効になっているインスタンスを確認して有効にする
SQL Server サービス インスタンスが無効になっているかどうかを確認するには、次の手順に従います。
「SQL Server サービスの開始、停止、一時停止、再開、および再起動」セクションの情報を使用して、確認しようとしているサービスを特定します。
[SQL Server 構成マネージャー] で、[SQL Server サービス] を選択し、目的のサービスを見つけます。
[開始モード] 列の値が [その他 (ブート、システム、無効、不明)] に設定されている場合、通常、対応するサービスが無効になっていることを意味します。 サービスを有効にするには、次の手順に従います。
[名前] 列で、対応するサービスを右クリックし、<サービス名> のプロパティ ウィンドウで サービス タブに切り替えます。
[開始モード] 列の値を調べて、[無効] に設定されていることを確認します。
要件に従って、その値を [手動] または [自動] のいずれかに変更します。 詳細については、「SQL Server 構成マネージャー: サーバーのスタートアップ オプションの構成」を参照してください。
ServiceController クラスを使う
ServiceController クラスを使うと、SQL Server サービスや他の Windows サービスをプログラムから制御することができます。 C# の使用例については、「ServiceController クラス」を参照してください。
サービスの起動に関する問題のトラブルシューティング
SQL Server サービスを開始しようとしたときに、構成に問題がある場合、サービスが起動しない可能性があります。 サービス固有のログを確認して、問題を特定して解決できます。 特定の問題の詳細なトラブルシューティング手順と解決策については、次の記事を参照してください。
- スタンドアロン サーバーでの SQL Server のスタートアップ エラー
- SQL Server サービスと SQL Server エージェント サービスがスタンドアロン サーバーで開始できない
- SQL Server エージェントを起動しようとするとクラッシュする