Sql-Server
可用性組 log_reuse_wait = 複製
我們有一個 SQL 2014 可用性組,其中包含 3 個主數據庫副本 - 2 個在我們的主數據中心,1 個在我們的 DR 中心。
我們在主節點上進行了大型索引重建,顯然需要復製到輔助節點。我相信這個複制現在已經完成了。當我執行時:
select redo_queue_size, log_send_queue_size from sys.dm_hadr_database_replica_states where database_id = 28
我得到:
redo_queue_size |log_send_queue_size 0 | 0 0 | 0 NULL | NULL
這向我表明複製已經完成。但是,當我跑步時
select log_reuse_wait, log_reuse_wait_desc from sys.databases where database_id = 28
我得到:
log_reuse_wait | log_reuse_wait_desc 6 | REPLICATION
我發現了這個查詢:
select * from sys.dm_hadr_database_replica_cluster_states where database_name = DB_NAME()
它顯示了複製的狀態,再次表明所有內容都已複製,但由於某種原因不能截斷:
is_failover_ready | is_pending_secondary_suspend | recovery_lsn | truncation_lsn 1 | 0 | 4294967295429496729500001 | 793156000000001600001 1 | 0 | 4294967295429496729500001 | 793156000000001600001 1 | 0 | 4294967295429496729500001 | 793156000000001600001
事務日誌備份作業正在按預期執行和備份,但由於正常流量,使用的日誌文件百分比繼續增長。如何讓 SQL 重用事務日誌文件?
CDC Capture 作業似乎已停止執行。重新啟動它(這需要一段時間)然後清除日誌並允許它重寫。