CHECKPOINT (Transact-SQL)
在您目前所連接的 SQL Server 資料庫中產生手動檢查點。
注意
如需有關不同類型之資料庫檢查點與一般檢查點作業的詳細資訊,請參閱<資料庫檢查點 (SQL Server)>。
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
語法
CHECKPOINT [ checkpoint_duration ]
引數
- checkpoint_duration
指定所需要之手動檢查點作業完成的時間 (以秒為單位)。 當指定 checkpoint_duration 時,SQL Server Database Engine 會嘗試在所要求的持續時間內執行檢查點。 checkpoint_duration 必須是 int 類型的運算式,且必須大於零。 如果省略此參數,Database Engine 會調整檢查點持續時間,將資料庫應用程式所受到的效能影響降到最低。 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 固定資料庫角色的成員,並不可加以轉讓。