適用於:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric 中的 SQL 資料庫
在您目前所連線的 SQL Server 資料庫中產生手動檢查點。
小提示
如需不同類型的資料庫檢查點和一般檢查點作業的相關資訊,請參閱資料庫檢查點 (SQL Server)。
Syntax
CHECKPOINT [ checkpoint_duration ]
Arguments
checkpoint_duration
指定所需要之手動檢查點作業完成的時間 (以秒為單位)。
checkpoint_duration 是進階選項。
指定 checkpoint_duration 時,SQL Server 資料庫引擎會嘗試在要求的持續時間內執行檢查點。
checkpoint_duration 必須是 int 類型的運算式,且必須大於零。
如果省略此參數,資料庫引擎會調整檢查點持續時間,將資料庫應用程式所受到的效能影響降到最低。
影響檢查點操作持續時間的因素
一般而言,檢查點作業必須寫入的中途分頁數愈多,檢查點作業所需要的時間也會愈長。 為能將其他應用程式所受到的效能影響降到最低,SQL Server 預設會調整檢查點作業執行的寫入頻率。 降低寫入頻率會增加完成檢查點作業所需要的時間。 SQL Server 會針對手動檢查點使用此策略,除非在命令中指定CHECKPOINT值。
使用 checkpoint_duration 對效能的影響會隨著中途分頁數、系統上的活動,以及所指定的實際持續時間而不同。
例如,如果檢查點通常會在 120 秒內完成,將 checkpoint_duration 指定為 45 秒會造成 SQL Server 用於檢查點的資源比預設指派的還多。
相反地,將 checkpoint_duration 指定為 180 秒則會造成 SQL Server 指派的資源比預設指派的還少。
一般而言,縮短 checkpoint_duration 將增加檢查點所佔用的資源;而加長 checkpoint_duration 則會減少檢查點所佔用的資源。 如果可能的話,SQL Server 一律會完成檢查點,而且 CHECKPOINT 陳述式會在檢查點完成時立即傳回。 因此,在某些情況下,檢查點可以比指定的持續時間更早完成,或者執行的時間可能超過指定的持續時間。
Permissions
CHECKPOINT 權限預設為 sysadmin 固定伺服器角色以及 db_owner 和 db_backupoperator 固定資料庫角色的成員,且不可轉移。