Sql-Server
如何在 SQL-server 2019 中使用“fn_dblog”
在我之前的問題中,我詢問瞭如何知道我的 SQL-Server 2019 數據庫中發生了什麼。過了一會兒,我發現有一種表格,叫做
fn_dblog
,它提供了一些有趣的資訊,但我仍然有一些問題(字面意思是從上一個問題複製而來):SELECT Top 10 [Begin Time] [End Time] FROM fn_dblog(null,null) WHERE UPPER(AllocUnitName) LIKE '%TABLENAME_STATUS%'
…由我的 Microsoft SQL Server Management Studio 提出的位置
[Begin Time]
和位置。[End Time]
令我驚訝的是,結果如下所示:Title: End Time NULL ... NULL
現在我有以下問題:
[Begin Time]
柱子怎麼了?- 為什麼
[End Time]
沒有填寫?- 當我將普通的 SQL 查詢結果復製到剪貼板時,列名也會被複製,但是當我複制與 相關的 SQL 查詢的結果時
fn_dblog
,列名不會出現在剪貼板中。為什麼會這樣,我該如何改變呢?除此之外,我還發現了另一個“表”,名為
fn_full_dblog
,但更糟糕的是:SELECT Top 10 * FROM sys.fn_full_dblog(null,null, null, null, null, null, null, null, null, null,null) WHERE UPPER(AllocUnitName) LIKE '%TABLENAME_STATUS%'
=> 根本沒有結果!
有人可以給我一些關於如何閱讀
fn_dblog
以及可能fn_full_dblog
或任何其他可能使用有趣資訊的“表格”的資訊嗎?提前致謝
最重要的是,它
fn_dblog
是無證的。微軟沒有官方支持;它可以隨時更改或刪除,您不應依賴它。
由於它沒有記錄,因此您無法獲得有關列的問題的官方答案。
其次,它不是工作的正確工具。您正在讀取事務日誌,這是循環的。您必須定期輪詢它以確保您不會失去數據條目。
此外,讀取和過濾事務日誌也不實用。沒有索引,因此您每次都讀取(可能很大)日誌。
也就是說,這是該函式作者的一篇文章。