SQL Server サービスのスタートアップ オプションの使用

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

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

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

説明

-dmaster_file_path

master データベース ファイルの完全修飾パス (通常は、C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\master.mdf)。このオプションを指定しない場合、レジストリ内の既存のパラメーターが使用されます。

-eerror_log_path

エラー ログ ファイルの完全修飾パス (通常は、C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG)。このオプションを指定しない場合、レジストリ内の既存のパラメーターが使用されます。

-lmaster_log_path

master データベース ログ ファイルの完全修飾パス (通常は、C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\mastlog.ldf)。このオプションを指定しない場合は、レジストリ内にあるパラメーターが使用されます。

既定のスタートアップ オプションを一時的に上書きし、以下のスタートアップ オプションを使用して SQL Server のインスタンスを起動することができます。

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

説明

-c

コマンド プロンプトから SQL Server を起動する場合に、起動時間を短縮します。通常、SQL Server データベース エンジンは、サービス コントロール マネージャーを呼び出すことにより、サービスとして起動します。SQL Server データベース エンジンは、コマンド プロンプトから起動した場合はサービスとして起動しないため、-c を使用してこの手順を省略します。

-f

SQL Server のインスタンスを最小構成で起動します。設定値によりサーバーが起動できないとき (たとえば使用できるメモリが不足している場合) などに便利です。SQL Server を最小構成モードで起動すると、SQL Server がシングル ユーザー モードになります。詳細については、後に示す -m オプションの説明を参照してください。

-gmemory_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 スイッチによって確保するメモリ量を増やすことを検討してください。

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

-h

32 ビットの SQL Server で AWE が有効になっている場合に、ホット アド メモリ メタデータ用の仮想アドレス空間を確保します。32 ビットでの AWE 使用時のホット アド メモリには必要ですが、約 500 MB の仮想アドレス空間を消費するので、メモリのチューニングがより難しくなります。64 ビットの SQL Server には必要ありません。ホット アド メモリは、Windows Server 2003 の Enterprise Edition および Datacenter Edition でのみ使用可能です。また、ハードウェア ベンダーによる特別なハードウェア サポートが必要です。

-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 を起動する必要があります。

-Ttrace#

指定された、有効なトレース フラグ (trace#) を使用して SQL Server のインスタンスを起動します。トレース フラグを使用してサーバーが起動すると、標準的な動作とは異なります。詳細については、「トレース フラグ (Transact-SQL)」を参照してください。

-x

次の監視機能を無効にします。

  • SQL Server パフォーマンス モニター カウンター

  • CPU 時間とキャッシュ ヒット率統計の管理

  • DBCC SQLPERF コマンドに関する情報の収集

  • 一部の動的管理ビューに関する情報の収集

  • 拡張イベントの多数のイベント ポイント

注記注意
–x スタートアップ オプションを使用すると、SQL Server に関するパフォーマンスや機能の問題を診断するために使用できる情報が大幅に減少します。

-E

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

注意

-T オプションを指定してトレース フラグを指定するときは、大文字の "T" を使用してトレース フラグ番号を渡してください。SQL Server は小文字の "t" を受け付けますが、これは SQL Server のサポート エンジニアのみが必要とする他の内部トレース フラグを設定するためのものです。コントロール パネルの起動ウィンドウで指定されているパラメーターは使用されません。

トラブルシューティングでのスタートアップ オプションの使用

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

注意

net start を使用して SQL Server を起動する場合、スタートアップ オプションではハイフン (-) の代わりにスラッシュ (/) を使用します。

通常の操作でのスタートアップ オプションの使用

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