Sql-Server
恢復複製後的 Log_reuse_wait_desc
我想知道是否有人以前遇到過這個問題,並對導致它的原因/如何解決它有任何建議。我們正在將數據庫恢復到較低的開發環境中,恢復後log_reuse_wait_desc是Replication。問題是我們沒有使用保持複製或 CDC。
這發生在幾個不同的設置中,但我會保持最初的簡單。
數據庫從 2008 實例還原到 2012 實例。清除它的唯一方法是在任何隨機表上創建一個測試發布,不需要訂閱,並且log_reuse_wait清除。
您可以在您的數據庫上嘗試以下腳本嗎?
use master exec sp_replicationdboption @dbname = N'your db name', @optname = N'<<name of your publication>>', @value = N'false' GO select name, is_published, is_subscribed, is_merge_published, is_distributor from sys.databases where name =<<your database name>>
這可能是由於孤立的複制元數據。您可以使用以下查詢來刪除:
USE master EXEC sp_removedbreplication @dbname = 'myDB'
我會首先嘗試在命令下執行,看看是否能解決問題。
EXEC sp_repldone @xactid = NULL, @xact_sgno = NULL, @numtrans = 0, @time = 0, @reset = 1;
如果沒有,我將為單個文章創建一個發布,然後再次執行上述命令。這應該將所有複製事務標記為完成。一旦我能夠縮小日誌文件,我將刪除我的出版物。