CHECKPOINT (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

在您目前所連線的 SQL Server 資料庫中產生手動檢查點。

注意

如需不同類型資料庫檢查點與一般檢查點作業的詳細資訊,請參閱資料庫檢查點 (SQL Server)

Transact-SQL 語法慣例

Syntax

CHECKPOINT [ checkpoint_duration ]  

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

checkpoint_duration
指定所需要之手動檢查點作業完成的時間 (以秒為單位)。 指定 checkpoint_duration 時,SQL Server 資料庫引擎會嘗試在要求的持續時間內執行檢查點。 checkpoint_duration 必須是 int 類型的運算式,且必須大於零。 如果省略此參數,資料庫引擎會調整檢查點持續時間,將資料庫應用程式所受到的效能影響降到最低。 checkpoint_duration 是進階選項。

影響檢查點作業持續時間的因素

一般而言,檢查點作業必須寫入的中途分頁數愈多,檢查點作業所需要的時間也會愈長。 為能將其他應用程式所受到的效能影響降到最低,SQL Server 預設會調整檢查點作業執行的寫入頻率。 降低寫入頻率會增加完成檢查點作業所需要的時間。 除非在 CHECKPOINT 命令中指定 checkpoint_duration 值,否則 SQL Server 會將此策略應用於手動檢查點。

使用 checkpoint_duration 對效能的影響會隨著中途分頁數、系統上的活動,以及所指定的實際持續時間而不同。 例如,如果檢查點通常會在 120 秒內完成,將 checkpoint_duration 指定為 45 秒會造成 SQL Server 用於檢查點的資源比預設指派的還多。 相反地,將 checkpoint_duration 指定為 180 秒則會造成 SQL Server 指派的資源比預設指派的還少。 一般而言,縮短 checkpoint_duration 將增加檢查點所佔用的資源;而加長 checkpoint_duration 則會減少檢查點所佔用的資源。 SQL Server 一律會盡其所能地完成檢查點,並會在檢查點完成時,立即傳回 CHECKPOINT 陳述式。 因此,在某些情況下,檢查點作業的完成會比指定的持續時間快,執行時間也有可能超出指定的持續時間。

安全性

權限

CHECKPOINT 權限是 sysadmin 固定伺服器角色成員及 db_ownerdb_backupoperator 固定資料庫角色成員的預設權限,且不可轉移。

另請參閱

ALTER DATABASE (Transact-SQL)
資料庫檢查點 (SQL Server)
Configure the recovery interval Server Configuration Option
SHUTDOWN (Transact-SQL)