データベース エンジン サービスのスタートアップ オプション

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

注記注意

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

スタートアップ オプションについて

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

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

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

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

説明

-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 オプションの説明を参照してください。

-g memory_to_reserve

SQL Server が、SQL Server メモリ プール外の SQL Server プロセス内にメモリ割り当てに使用できる領域として残すメモリ容量を整数 (MB 単位) で指定します。 メモリ プール外のメモリは、拡張プロシージャ .dll ファイル、分散クエリによって参照される OLE DB プロバイダー、および Transact-SQL ステートメントで参照されるオートメーション オブジェクトなどのアイテムを読み込むために、SQL Server によって使用される領域です。 既定値は 256 MB です。

このオプションを使用すると、メモリ割り当てを調整するうえで役に立つ場合がありますが、これは、アプリケーションが使用できる仮想メモリに対してオペレーティング システムが設定する制限値よりも物理メモリが多い場合だけです。 このオプションは、SQL Server に必要なメモリ容量が通常より多い大容量メモリ構成で、SQL Server プロセスの仮想アドレス空間全体が使用される場合に効果があります。 このオプションを誤って使用すると、SQL Server が起動しないことや、実行時エラーが発生することがあります。

SQL Server エラー ログに次の警告が記録されない限り、-g パラメーターの既定値を使用してください。

  • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_RESERVE <size>"

  • "Failed Virtual Allocate Bytes: FAIL_VIRTUAL_COMMIT <size>"

これらのメッセージは、拡張ストアド プロシージャ .dll ファイルやオートメション オブジェクトなどのアイテムの格納領域を確保するために SQL Server が SQL Server メモリ プールの一部を解放しようとしていることを示している場合があります。 その場合は、-g スイッチによって確保するメモリ量を増やすことを検討してください。

既定値より小さい値を使用すると、SQL Server Memory Manager によって管理されるメモリ プールおよびスレッド スタックが利用できる容量が増えます。その結果、拡張ストアド プロシージャ、分散クエリ、またはオートメーション オブジェクトを多用しないシステムの、メモリ負荷の高い作業のパフォーマンスが向上することがあります。

-m

SQL Server のインスタンスをシングル ユーザー モードで起動します。 SQL Server のインスタンスをシングル ユーザー モードで起動する場合、接続できるユーザーは 1 ユーザーのみで、CHECKPOINT プロセスは起動されません。 CHECKPOINT は、完了したトランザクションがディスク キャッシュからデータベース デバイスに定期的に書き込まれることを保証する機能です。 一般的に、システム データベースを修復する必要がある問題が発生したときに、このオプションを使用します。sp_configure allow updates オプションを有効にします。 既定では、allow updates は無効です。SQL Server をシングル ユーザー モードで起動すると、コンピューターのローカル Administrators グループのメンバーはすべて、固定サーバー ロール sysadmin のメンバーとして SQL Server のインスタンスに接続できるようになります。 詳細については、「システム管理者がロックアウトされた場合の SQL Server への接続」を参照してください。 シングル ユーザー モードの詳細については、「シングル ユーザー モードでの SQL Server の起動」を参照してください。

-m"Client Application Name"

SQLCMD または SQL Server Management Studio で -m オプションを使用すると、接続を特定のクライアント アプリケーションに限定できます。 たとえば、-m"SQLCMD" を使用すると、接続が、SQLCMD クライアント プログラムとして識別される必要がある単一の接続に限定されます。 このオプションは、SQL Server をシングル ユーザー モードで起動するときに、その唯一の接続を不明なクライアント アプリケーションによって使用されていた場合に使用します。 Management Studio のクエリ エディターを使用して接続するには、-m"Microsoft SQL Server Management Studio - Query" を使用します。

クライアント アプリケーション名では大文字と小文字が区別されます。

セキュリティに関する注意セキュリティに関する注意

このオプションをセキュリティ機能として使用しないでください。 クライアント アプリケーションの名前はクライアント アプリケーションによって接続文字列の一部として指定されるため、本当の名前が指定されるとは限りません。

-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" を使用してトレース フラグ番号を渡してください。 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 を起動するたびに使用することが考えられます。 このようなオプション (-g やトレース フラグを使用した起動など) は、SQL Server 構成マネージャーを使用して、起動時のパラメーターを構成すると最も容易に設定できます。 これらのツールは、スタートアップ オプションをレジストリ キーとして保存するため、常にこれらのスタートアップ オプションを使用して SQL Server を起動できます。

互換性サポート

-h パラメーターは、SQL Server 2012 ではサポートされていません。 このパラメーターは、以前のバージョンの SQL Server の 32 ビットのインスタンスで AWE が有効になっている場合に、ホット アド メモリ メタデータ用の仮想メモリ アドレス空間を確保するために使用されていました。 詳細については、「SQL Server 2012 で提供が中止された機能」を参照してください。

関連タスク

scan for startup procs サーバー構成オプションの構成

データベース エンジン、SQL Server エージェント、SQL Server Browser サービスの開始、停止、一時停止、再開、および再起動

関連項目

参照

CHECKPOINT (Transact-SQL)

sqlservr アプリケーション