sqlservr アプリケーション
コマンド プロンプトから sqlservr アプリケーションを使用して、Microsoft SQL Server のインスタンスを起動、停止、一時停止、または続行します。
構文
sqlservr [-sinstance_name] [-c] [-dmaster_path] [-f]
[-eerror_log_path] [-lmaster_log_path] [-m]
[-n] [-Ttrace#] [-v] [-x] [-gnumber] [-h]
引数
-sinstance_name
接続先となる SQL Server のインスタンスを指定します。名前付きインスタンスを指定しない場合、sqlservr は SQL Server の既定のインスタンスを起動します。重要 SQL Server のインスタンスを起動する場合、そのインスタンス用の適切なディレクトリで sqlservr アプリケーションを使用する必要があります。既定のインスタンスの場合は、\MSSQL\Binn ディレクトリで sqlservr を実行します。名前付きインスタンスの場合は、\MSSQL$instance_name\Binn ディレクトリで sqlservr を実行します。
-c
Windows サービス コントロール マネージャに依存せずに、SQL Server のインスタンスを起動します。このオプションは、コマンド プロンプトから SQL Server を起動して SQL Server の起動に要する時間を短縮する場合に使用します。注 ただし、このオプションを使用すると、SQL Server サービス マネージャまたは net stop コマンドを使用して SQL Server を停止することはできません。また、コンピュータからログオフすると、SQL Server は停止します。
-dmaster_path
master データベース ファイルの完全修飾パスを指定します。-d と master_path の間には空白を入れません。このオプションを省略すると、レジストリ内にあるパラメータを使用します。-f
SQL Server のインスタンスを最小構成で起動します。設定値によりサーバーが起動できないとき (たとえば使用できるメモリが不足している場合) などに便利です。-eerror_log_path
エラー ログ ファイルのフル パスを指定します。指定しない場合、既定のインスタンスの既定の場所は <Drive>:\Program Files\Microsoft SQL Server\MSSQL\Log\Errorlog で、名前付きインスタンスの既定の場所は <Drive>:\Program Files\Microsoft SQL Server\MSSQL$instance_name\Log\Errorlog となります。-e と error_log_path の間には空白を入れません。-lmaster_log_path
master データベース トランザクション ログ ファイルの完全修飾パスを指定します。-l と master_log_path の間には空白を入れません。-m
シングル ユーザー モードで SQL Server のインスタンスを起動します。SQL Server をシングル ユーザー モードで起動した場合、1 人のユーザーのみ接続できます。CHECKPOINT メカニズムは起動しません。CHECKPOINT メカニズムとは、完了したトランザクションをディスク キャッシュからデータベース デバイスに正しく書き込むことを保証する機能です。一般的に、システム データベースを修復する必要がある問題が発生したときに、このオプションを使用します。このオプションによって sp_configure allow updates オプションが有効になります。既定の設定では、allow updates は無効になります。-n
SQL Server の名前付きインスタンスの起動を可能にします。-s パラメータを設定しない場合、既定のインスタンスが起動します。sqlservr.exe を開始する前に、コマンド プロンプトで、インスタンスの適切な BINN ディレクトリに移動する必要があります。たとえば、インスタンス 1 がバイナリ用に \mssql$Instance1 を使用する場合、ユーザーは \mssql$Instance1\binn ディレクトリで sqlservr.exe -s instance1 を起動する必要があります。-n オプションで SQL Server のインスタンスを起動する場合は、-e オプションも使用してください。このオプションを指定しないと、SQL Server のイベントは記録されません。-Ttrace#
指定された、有効なトレース フラグ (trace#) を使用して SQL Server のインスタンスを起動します。トレース フラグを使用してサーバーが起動すると、標準的な動作とは異なります。詳細については、「トレース フラグ (Transact-SQL)」を参照してください。重要 トレース フラグを指定するときは、-T を使用してトレース フラグ番号を渡してください。SQL Server では小文字の t (-t) も入力できますが、-t では、SQL Server のサポート エンジニアが必要とする他の内部トレース フラグが設定されます。
-v
サーバーのバージョン番号を表示します。-x
CPU 時間とキャッシュ ヒット率統計の管理を禁止します。パフォーマンスは最大になります。-gmemory_to_reserve
SQL Server メモリ プール外にある SQL Server プロセス内に、SQL Server がメモリ割り当て用の領域として残すメモリの容量を、整数で指定します (メガバイト単位)。メモリ プール外のメモリは、拡張プロシージャ .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 を持つホット アド メモリに必要ですが、仮想アドレス空間を約 5 ギガバイト使用するため、メモリ調整が難しくなります。64 ビットの SQL Server には必要ありません。
説明
ほとんどの場合、sqlserver.exe プログラムはトラブルシューティングや主なメンテナンスのみに使用されます。SQL Server がコマンド プロンプトから sqlservr.exe で起動された場合、SQL Server はサービスとしては起動しないため、net コマンドを使用して SQL Server を停止することはできません。ユーザーは SQL Server に接続することができますが、SQL Server ツールによってサービスのステータスが表示されるため、SQL Server 構成マネージャはサービスが停止されたことを適切に示すことができます。SQL Server Management Studio もサーバーに接続することができますが、同じようにサービスが停止されたことを示すことができます。