次の方法で共有


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

適用対象: SQL Server

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

警告

スタートアップ オプションを不適切に使用すると、サーバー パフォーマンスの低下を招くことや、 SQL Server が起動しなくなることがあります。

将来の起動時の問題を防ぐため、Linux 上の SQL Server は mssql ユーザーで起動してください。 例: sudo -u mssql /opt/mssql/bin/sqlservr [STARTUP OPTIONS]

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

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

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

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

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

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

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

Options 説明
-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)。 このオプションを指定しないと、既存のレジストリ パラメーターが使われます。

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

Options 説明
-c コマンド プロンプトから SQL Server を起動する場合に、起動時間を短縮します。 通常、 SQL Server データベース エンジン は、サービス コントロール マネージャーを呼び出すことにより、サービスとして起動します。 コマンド プロンプトから起動した SQL Server データベース エンジンは、サービスとして起動しないため、-c を使ってこのステップを省略します。
-f SQL Server のインスタンスを最小構成で起動します。 設定値によりサーバーが起動できないとき (たとえば使用できるメモリが不足している場合) などに便利です。 SQL Server を最小構成モードで起動すると、 SQL Server がシングル ユーザー モードになります。 詳細については、後の -m の説明を参照してください。
-kDecimalNumber このスタートアップ パラメーターでは、1 秒あたりのチェックポイント I/O の数を制限します。ここで、DecimalNumber は 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 アプリケーション名 接続を特定のクライアント アプリケーションに限定します。 たとえば、-mSQLCMD を使用すると、接続が、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 パラメーターを設定しないと、既定のインスタンスの起動が試みられます。 sqlservr.exeを開始する前に、コマンド プロンプトで、インスタンスの適切な BINN ディレクトリに移動する必要があります。 たとえば、Instance1 がバイナリ用に \mssql$Instance1 を使用する場合、ユーザーは \mssql$Instance1\binn ディレクトリで sqlservr.exe -s instance1 を起動する必要があります。
-T trace# 指定された、有効なトレース フラグ (trace# ) を使用して SQL Server のインスタンスを起動します。 トレース フラグを使用してサーバーが起動すると、標準的な動作とは異なります。 詳細については、トレース フラグ (Transact-SQL)に関する記事を参照してください。

重要: -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 を手動で起動するときに、コマンド ラインから起動すると最も容易に起動できます。

Note

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

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

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

互換性サポート

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

こちらもご覧ください

次のステップ