次の方法で共有


データベース エンジン サービスの起動時のオプション

適用対象:SQL Server

スタートアップ オプションは、起動時に必要な特定のファイルの場所およびサーバー全体の状態を指定します。 ほとんどの場合、データベース エンジンのトラブルシューティングを行う場合や、異常な問題があり、SQL Server カスタマー サポートによってスタートアップ オプションを使用するように指示されている場合を除き、スタートアップ オプションを指定する必要はありません。

警告

スタートアップ オプションを不適切に使用すると、サーバー パフォーマンスの低下を招くことや、 SQL Server が起動しなくなることがあります。 将来の起動時の問題を防ぐため、Linux 上の SQL Server は mssql ユーザーで起動してください。 たとえば、sudo -u mssql /opt/mssql/bin/sqlservr [STARTUP OPTIONS] のようにします。

起動時のオプションについて

SQL Server をインストールすると、セットアップによって一連の既定のスタートアップ オプションが Windows レジストリに書き込まれます。 これらの起動時のオプションを使って、代替 master データベース ファイル、master データベース ログ ファイル、またはエラー ログ ファイルを指定できます。 データベース エンジンで必要なファイルが見つからない場合、SQL Server は起動しません。

スタートアップ オプションは、SQL Server 構成マネージャーを使用して設定できます。 詳細については、「 サーバーのスタートアップ オプションを構成する」を参照してください。

次に示すのは、[SQL Server のプロパティ] ダイアログの [起動時のパラメーター] タブのスクリーンショットです。ここで、起動時のパラメーターを変更できます。

[SQL Server (MSSQLSERVER) のプロパティ] ダイアログのスクリーンショット。[起動時のパラメーター] タブが選択されています。

起動時のオプションの一覧

既定のスタートアップ オプション

オプション 説明
-d <master_file_path> master データベース ファイルの完全修飾パス (通常はC:\Program Files\Microsoft SQL Server\MSSQL.<n>\MSSQL\Data\master.mdf)。 このオプションを指定しないと、既存のレジストリ パラメーターが使われます。
-e <error_log_path> エラー ログ ファイルの完全修飾パス (通常は C:\Program Files\Microsoft SQL Server\MSSQL.<n>\MSSQL\LOG\ERRORLOG)。 このオプションを指定しないと、既存のレジストリ パラメーターが使われます。
-l <master_log_path master データベース ログ ファイルの完全修飾パス (通常はC:\Program Files\Microsoft SQL Server\MSSQL.<n>\MSSQL\Data\mastlog.ldf)。 このオプションを指定しないと、既存のレジストリ パラメーターが使われます。

他のスタートアップ オプション

オプション 説明
-c コマンド プロンプトから SQL Server を起動する場合に、起動時間を短縮します。 通常、 SQL Server データベース エンジン は、サービス コントロール マネージャーを呼び出すことにより、サービスとして起動します。 SQL Server データベース エンジンは、コマンド プロンプトから開始するときにサービスとして開始されないため、 -c を使用してこの手順をスキップします。
-f 最小限の構成で SQL Server のインスタンスを開始します。 これは、構成値の設定 (メモリの過剰コミットなど) によってサーバーが起動できなくなる場合に便利です。 SQL Server を最小構成モードで起動すると、 SQL Server がシングル ユーザー モードになります。 詳細については、次の -m の説明を参照してください。
-k<decimal-number> このスタートアップ パラメーターは、1 秒あたりのチェックポイント I/O 要求の数を制限します。ここで、 <decimal-number> は 1 秒あたりのチェックポイント速度を MB 単位で表します。 この値を変更すると、バックアップの作成速度や復旧プロセスが実行される速度に影響する可能性があるため、注意して続行してください。 つまり、パラメーターに指定した値が低すぎると、復旧時間が長くなり、バックアップが開始されるチェックポイント プロセスも遅延するため、バックアップの完了に少し時間がかかる場合があります。

このパラメーターを使う代わりに、次の方法を使用すると、システム上の I/O ボトルネックを取り除くのに役立ちます。

- SQL Server によってポストされた I/O 要求を維持するための適切なハードウェアを提供する

- 十分なアプリケーション チューニングを行う
-m SQL Server のインスタンスをシングル ユーザー モードで起動します。 シングル ユーザー モードで SQL Server のインスタンスを起動すると、1 人のユーザーのみが接続でき、 CHECKPOINT プロセスは開始されません。 CHECKPOINT は、完了したトランザクションがディスク キャッシュからデータベース デバイスに定期的に書き込まれることを保証します。 (一般に、このオプションは、システム データベースで修復が必要な問題が発生したときに使われます)。sp_configure allow updates オプションが有効になります。 既定では、allow updates は無効になっています。 シングル ユーザー モードで SQL Server を起動すると、コンピューターのローカル Administrators グループのメンバーは、 sysadmin 固定サーバー ロールのメンバーとして SQL Server のインスタンスに接続できます。 詳細については、「 システム管理者がロックアウトされたときに SQL Server に接続する」を参照してください。シングル ユーザー モードの詳細については、「 SQL Server のシングル ユーザー モード」を参照してください。
-mClient Application Name 接続を特定のクライアント アプリケーションに限定します。 たとえば、 -mSQLCMD は接続を 1 つの接続に制限し、その接続はそれ自体を sqlcmd ユーティリティとして識別する必要があります。 このオプションは、シングル ユーザー モードで SQL Server を起動していて、不明なクライアント アプリケーションが使用可能な接続のみを使用している場合に使用します。 "Microsoft SQL Server Management Studio - Query" を使用し、SSMS クエリ エディターと接続します。 SSMS クエリ エディター オプションは、ツールで拒否されるダッシュ文字が含まれているため、SQL Server 構成マネージャーでは構成できません。

クライアント アプリケーション名では大文字と小文字が区別されます。 アプリケーション名にスペースや特殊文字が含まれる場合、二重引用符が必要です。

コマンドラインから起動した場合の例:

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\sqlservr -s MSSQLSERVER -m"Microsoft SQL Server Management Studio - Query"

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\sqlservr -s MSSQLSERVER -mSQLCMD

セキュリティに関する注意: このオプションをセキュリティ機能として使わないでください。 クライアント アプリケーションの名前はクライアント アプリケーションによって接続文字列の一部として指定されるため、本当の名前が指定されるとは限りません。
-n SQL Server のイベントを記録するために、Windows アプリケーション ログを使いません。 -nを使用して SQL Server のインスタンスを起動する場合は、-eスタートアップ オプションも使用することをお勧めします。 そうしないと、SQL Server のイベントはログされません。
-s SQL Serverの名前付きインスタンスの起動を可能にします。 -s パラメーターが設定されていない場合、既定のインスタンスは開始を試みます。 BINNを開始する前に、コマンド プロンプトでインスタンスの適切なsqlservr.exe ディレクトリに切り替える必要があります。 たとえば、Instance1 がそのバイナリに\mssql$Instance1を使用する場合、ユーザーは\mssql$Instance1\binnを開始するために sqlservr.exe -s instance1 ディレクトリに存在する必要があります。
-T <trace-number> 指定したトレース フラグ (<trace-number>) を有効にして SQL Server のインスタンスを開始する必要があることを示します。 トレース フラグを使用してサーバーが起動すると、標準的な動作とは異なります。 詳細については、「DBCC TRACEON - トレース フラグ」を参照してください。

大事な:-T オプションでトレース フラグを指定する場合は、大文字のTを使用してトレース フラグ番号を渡し、-T オプションとトレース フラグの番号の間にスペースを入れなくなります。 SQL Server は小文字の t を受け付けますが、これは SQL Server のサポート エンジニアのみが必要とする他の内部トレース フラグを設定します。 (コントロール パネルの起動ウィンドウで指定されているパラメーターは使われません)。
-x 次の監視機能を無効にします。

- SQL Server パフォーマンス モニター カウンター
- CPU 時間とキャッシュヒット率の統計を記録する
- DBCC SQLPERF コマンドの情報の収集
- 一部の動的管理ビューに関する情報の収集
- 拡張イベントの多数のイベント ポイント

警告:-xスタートアップ オプションを使用すると、SQL Server のパフォーマンスと機能に関する問題を診断するために使用できる情報が大幅に削減されます。
-E ファイル グループ内の各ファイルに割り当てられるエクステントの数を増やします。 このオプションは、インデックスまたはデータ スキャンを実行するユーザーの数が限られているデータ ウェアハウス アプリケーションに役立つ場合があります。 パフォーマンスに悪影響を及ぼす可能性があるため、他のアプリケーションでは使用しないでください。 このオプションは、32 ビット リリースの SQL Server ではサポートされていません。

トラブルシューティングに起動時のオプションを使用する

シングル ユーザー モードや最小構成モードなど、一部のスタートアップ オプションは、主にトラブルシューティングの際に使用されます。 トラブルシューティングのために -m オプションや -f オプションを使用してサーバーを起動する場合は、sqlservr.exe を手動で起動するときに、コマンド ラインから起動すると最も容易に起動できます。

net start を使って SQL Server を起動するときは、ハイフン (/) の代わりにスラッシュ (-) が起動時のオプションで使われます。

通常の操作で起動時のオプションを使用する

SQL Server を起動するたびに、いくつかのスタートアップ オプションを使用できます。 このようなオプション (トレース フラグを使用した起動など) は、SQL Server 構成マネージャーを使用して、起動時のパラメーターを構成すると最も容易に設定できます。 このツールは、起動時のオプションをレジストリ キーとして保存するため、常に起動時のオプションを使って SQL Server を起動できます。

互換性サポート

以前のリリースから削除されたオプションについては、 sqlservr アプリケーションを参照してください。