Sql-Server

如何審核 SQL Server 2008 R2 數據庫上的所有 DML 操作

  • August 19, 2015

為了評估實現索引視圖的選項,我想檢查DML表操作的使用情況。該數據庫對我來說以及相關的業務知識都是新的,所以我不知道。

有沒有辦法在幾天內快速收集統計數據?

我正在使用標準版。

如果您只想知道索引更新的數量(無論有多少行受到影響,索引有多寬等),並且只要您可以確保服務不會重新啟動或索引被刪除/重新創建那個時間範圍,那麼你可以sys.dm_db_index_usage_stats現在和幾天后看看。

正如 Kin 所建議的,請查看Nacho 的常見問題解答。基本上:

  • 如果出現以下情況,DMV 可以重置:

    • 伺服器重新啟動
    • 刪除並重新創建索引
  • -x如果您以、-m或跟踪標誌 2330開頭,則 DMV 可以為空

  • 如果您有過濾索引,即使更新不影響索引中的行,更新也會增加使用情況統計資訊

  • 如果集群鍵中的任何列被修改,所有非集群索引也會增加它們的使用統計

  • 嘗試 DML 後發生的錯誤仍會增加計數器

  • 索引使用告訴你操作的數量 - 它沒有任何方法向你報告所觸及的行數或頁面數(對非常寬的表中的每一行的更新看起來與對非常瘦的表中的單行的更新相同) - 如果您想了解有關實際觸摸音量的更多詳細資訊,請參閱sys.dm_db_index_operational_stats

還有 Tim Ford 的 DMV 快照系列:

引用自:https://dba.stackexchange.com/questions/111581