CHECKPOINT (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
現在接続している SQL Server データベースで手動チェックポイントを生成します。
注意
さまざまな種類のデータベース チェックポイントと一般的なチェックポイント操作については、「データベース チェックポイント (SQL Server)」を参照してください。
構文
CHECKPOINT [ checkpoint_duration ]
引数
checkpoint_duration
手動チェックポイントを完了するのに必要な時間を秒単位で指定します。 checkpoint_duration を指定すると、SQL Server データベース エンジン は、要求された時間内にチェックポイントを実行しようとします。 checkpoint_duration は、データ型が int の式で、0 より大きい値にする必要があります。 このパラメーターを省略すると、データベース エンジン では、データベース アプリケーションのパフォーマンスに与える影響が最小限になるように、チェックポイントの持続時間が調整されます。 checkpoint_duration は拡張オプションです。
チェックポイントの操作時間に影響を与える要因
通常、書き込む必要のあるダーティ ページの数が増えると、チェックポイント操作に必要とされる時間が長くなります。 他のアプリケーションのパフォーマンスに与える影響を最小にするため、既定では、SQL Server によってチェックポイント操作による書き込み頻度が調節されます。 書き込みの頻度が減ると、チェックポイント操作の完了に必要な時間は長くなります。 SQL Server では、checkpoint_duration 値が CHECKPOINT コマンドで指定されていない場合、この方法に基づいて手動チェックポイントが実行されます。
checkpoint_duration の使用によるパフォーマンスへの影響は、ダーティ ページの数、システムにあるアクティビティ、実際に指定された時間によって異なります。 たとえば、通常、チェックポイントが 120 秒で完了する場合、checkpoint_duration を 45 秒に設定すると、SQL Server によって、既定で割り当てられるリソースよりも多くのリソースがチェックポイントに割り当てられます。 逆に、checkpoint_duration を 180 秒に指定すると、SQL Server では、既定で割り当てられるリソースよりも少ないリソースしか割り当てられません。 一般に、checkpoint_duration が短いとチェックポイントに割り当てるリソースが増え、checkpoint_duration が長いとチェックポイントに割り当てるリソースが減ります。 SQL Server は、常に可能な限りチェックポイントを完了し、チェックポイントが完了するとすぐに CHECKPOINT ステートメントによって値が返されます。 したがってチェックポイントの完了は、状況に応じて、指定した時間よりも早まったり、遅くなったりすることがあります。
セキュリティ
アクセス許可
CHECKPOINT のアクセス許可は、sysadmin 固定サーバー ロールのメンバと、db_owner および db_backupoperator 固定データベース ロールのメンバに既定で割り当てられ、転送できません。
参照
ALTER DATABASE (Transact-SQL)
データベース チェックポイント (SQL Server)
recovery interval サーバー構成オプションの構成
SHUTDOWN (Transact-SQL)