Sql-Server
為什麼我無法使用 fn_dump_dblog 讀取我的事務日誌備份文件?
我正在使用sqlskills.com 上的這個部落格作為練習在事務日誌備份中查找相關 LSN 以進行時間點恢復的指南。
備份事務日誌後,我嘗試使用以下命令讀取它:
SELECT COUNT(*) FROM fn_dump_dblog ( NULL, NULL, 'DISK', 1, 'D:\TEMP\test_tlog2.bak', DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT);
我收到以下錯誤:
消息 615,級別 21,狀態 1,第 1 行找不到數據庫 ID 0,名稱“0”。數據庫可能處於離線狀態。等待幾分鐘,然後重試。
數據庫 id 不是 0,它不是離線的,我沒有看到任何我失去的參數或對函式的更改。我可以查詢數據庫,我可以使用內容選項從 SSMS 備份中查看 tlog 備份文件,顯示正確的媒體集 1。
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4263.0 (X64) 2012 年 8 月 23 日 15:56:56 版權所有 (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1) (Hypervisor) )
我錯過了一些基本的東西嗎?
@Alan 請通過禁用審計檢查一次。
該伺服器在數據庫上有一個 AUDIT。如果啟用了審核,您將收到該錯誤。如果您禁用審核,查詢將執行良好。
您可以嘗試此處說明的步驟。另一方面,有一個 SQL Server 審計工具ApexSQL Log可以幫助您通過 GUI 找到相關的 LSN,而無需使用 T-SQL
免責聲明:我在 ApexSQL 擔任產品支持工程師