可能會延遲記錄截斷的因素

記錄截斷會釋出記錄檔中的空間,以供交易記錄重複使用。由於記錄的使用中部分無法被截斷或是以壓縮的方式加以移除,因此當記錄檔記錄長時間保持使用中狀態時,截斷可能就會延遲。

[!附註]

如需有關記錄截斷如何運作的詳細資訊,請參閱<交易記錄截斷>。

記錄檔記錄可能會在各種情況下維持使用中狀態,本主題將會加以說明。若要探索是否有任何原因導致記錄截斷無法進行,請使用 sys.databases 目錄檢視的 log_reuse_waitlog_reuse_wait_desc 資料行。

[!附註]

這些因素中有一部分 (例如,長時間執行的交易或已暫停的資料庫鏡像工作階段) 會導致交易記錄填滿的結果。如需有關如何回應完整交易記錄的詳細資訊,請參閱<寫滿交易記錄疑難排解 (錯誤 9002)>。

下表簡短描述 sys.database 目錄檢視的 log_reuse_waitlog_reuse_wait_desc 資料行的值。

log_reuse_wait 值

log_reuse_wait_desc 值

描述

0

NOTHING

目前有一個或多個可重複使用的虛擬記錄檔。

1

CHECKPOINT

自從上次記錄截斷後尚未出現任何檢查點,或是記錄標頭尚未移到虛擬記錄檔的範圍之外 (所有復原模式)。

這是延遲記錄截斷的一般原因。如需詳細資訊,請參閱<檢查點與記錄檔的使用中部份>。

2

LOG_BACKUP

必須要有記錄備份,才能將記錄的標頭往前移 (僅限完整或大量記錄復原模式)。

附註附註
記錄備份不會防止截斷。

當記錄備份完成後,記錄的標頭會往前移,而某些記錄空間可能就可以重複使用。

3

ACTIVE_BACKUP_OR_RESTORE

正在進行資料備份或還原 (所有復原模式)。

資料備份的運作方式與使用中交易類似,而且執行中的備份將導致記錄無法截斷。如需詳細資訊,請參閱本主題稍後的「資料備份作業與還原作業」。

4

ACTIVE_TRANSACTION

交易在使用中 (所有復原模式)。

  • 長時間執行的交易可能存在於記錄備份的開頭。在此情況下,釋出空間可能需要另一個記錄備份。如需詳細資訊,請參閱本主題稍後的「長時間執行的使用中交易」。

  • 交易已延遲 (僅限 SQL Server 2005 Enterprise Edition 及更新的版本)。「延遲交易」實際上是回復遭到封鎖的使用中交易 (因為某些無法使用的資源所造成)。如需有關延遲交易的原因以及如何將延遲交易移出延遲狀態的詳細資訊,請參閱<延遲交易>。

5

DATABASE_MIRRORING

資料庫鏡像已暫停,或者在高效能模式下,鏡像資料庫已大幅落後主體資料庫 (僅限完整復原模式)。

如需詳細資訊,請參閱本主題稍後的「資料庫鏡像與交易記錄」。

6

REPLICATION

進行交易式複寫期間,與發行集相關的交易仍然未傳遞至散發資料庫 (僅限完整復原模式)。

如需詳細資訊,請參閱本主題稍後的「交易式複寫與交易記錄」。

7

DATABASE_SNAPSHOT_CREATION

正在建立資料庫快照集 (所有復原模式)。

這是延遲記錄截斷的一般原因 (通常也是暫時的原因)。

8

LOG_SCAN

正在進行記錄掃描 (所有復原模式)。

這是延遲記錄截斷的一般原因 (通常也是暫時的原因)。

9

OTHER_TRANSIENT

這個值目前尚未使用。

資料備份作業與還原作業

任何備份或還原作業期間都不會發生記錄截斷的狀況。在 SQL Server 2005 及更新的版本中,記錄備份可以在資料備份期間進行。不過,您不能在這種記錄備份期間截斷記錄,因為所有的交易記錄都必須保留給資料備份作業使用。如果資料備份阻礙截斷記錄,取消該備份可能有助於化解眼前的問題。

如需有關記錄截斷的詳細資訊,請參閱<交易記錄截斷>。

長時間執行的使用中交易

使用中交易會要求包含交易開頭的記錄檔記錄保持使用中狀態。例如,如果交易的開始和結束是由使用者控制,長時間執行之交易的常見原因就是使用者開始進行交易,然後在交易等候使用者回應時離開。在這種情況下,雖然等候交易本身產生的記錄很少,但是它會阻擋記錄截斷動作,而導致記錄檔變大。

[!附註]

如需有關如何避免長時間執行之交易的詳細資訊,請參閱<撰寫有效率的交易>。

資料庫鏡像與交易記錄

進行資料庫鏡像時,每一筆記錄都必須維持使用中狀態,直到主體伺服器執行個體收到鏡像伺服器執行個體傳來的通知,表示記錄已寫入鏡像伺服器的磁碟為止。如果鏡像伺服器執行個體落在主體伺服器執行個體之後,使用中的記錄空間量也會隨之成長。在這種情況下,您可能必須停止資料庫鏡像、建立截斷記錄的記錄備份、將該記錄備份套用至鏡像資料庫 (使用 WITH NORECOVERY),並重新啟動鏡像。

重要事項重要事項

此外,如果在必要的記錄備份之後建立任何額外的記錄備份,您也必須手動套用每一份額外的記錄備份 (一律使用 WITH NORECOVERY),然後才能啟動鏡像。套用最新的記錄備份之後,您就可以啟動鏡像。

如需詳細資訊,請參閱<移除資料庫鏡像>和<設定資料庫鏡像>。

交易式複寫與交易記錄

合併式複寫和快照式複寫不會影響交易記錄大小,但是交易式複寫會影響。如果資料庫包含一個或多個交易式發行集,則除非已將所有與發行集相關的交易傳遞至散發資料庫,否則不會截斷記錄。如果交易記錄變得很大,並且「記錄讀取器代理程式」依排程執行,請考慮縮短兩次執行間的間隔或設定其以連續模式執行。如果已將其設定為在連續模式下執行 (預設值),則請確定它正在執行。如需有關如何檢查「記錄讀取器代理程式」狀態的詳細資訊,請參閱<如何:檢視與發行集相關聯之代理程式的資訊並執行工作 (複寫監視器)>。

此外,如果您已在發行集資料庫或散發資料庫中設定選項 'sync with backup',則除非已備份所有交易,否則交易記錄不會被截斷。如果交易記錄變得很大,並且您已設定此選項,則請考慮縮短兩次交易記錄備份之間的間隔。如需有關如何備份和還原涉及交易式複寫之資料庫的詳細資訊,請參閱<備份與還原快照式和交易式複寫的策略>。

管理複寫

監視複寫