CHECKPOINT (Transact-SQL)
適用於:Microsoft Fabric 中的 SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體 SQL 資料庫
在您目前所連線的 SQL Server 資料庫中產生手動檢查點。
注意
如需不同類型資料庫檢查點與一般檢查點作業的詳細資訊,請參閱資料庫檢查點 (SQL Server)。
語法
CHECKPOINT [ checkpoint_duration ]
引數
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_owner 與 db_backupoperator 固定資料庫角色成員的預設權限,且不可轉移。
另請參閱
ALTER DATABASE (Transact-SQL)
資料庫檢查點 (SQL Server)
Configure the recovery interval Server Configuration Option
SHUTDOWN (Transact-SQL)