Sql-Server
sql server 的最佳實踐 - 為繁忙網站上的操作設置審核
我有一個非常繁忙的網站。使用者可以創建多種類型的內容,然後可以對其進行投票/否決、報告為攻擊性、由管理員啟用/禁用等。我想啟用對網站上執行的所有操作的審核。
我使用的數據庫是 SQL Server 2005。我有兩個選擇。第一個是包含審核螢幕所需的大部分詳細資訊的單個大表,即在此表中複製內容片段以消除連接到其他表的需要。第二種解決方案是為每種類型的內容創建一個單獨的審核表。這使得為使用者檢索審計日誌變得更加複雜,例如,因為他們可能涉及許多不同類型的內容,因此我需要從許多不同的表中檢索數據。
所以這似乎是表大小和查詢簡單性之間的權衡。這裡有什麼經驗法則嗎?或者說哪種方式更好?
這並不能完全回答您的問題,但是該文件非常有用,您將真正受益於閱讀它。Microsoft 為 SQL Server 2008(我知道,不是 2005 年)整理了一份審計和合規性指南,其中包含大量有關該主題的重要資訊:
您所描述的情況非常適合 SQL Server 2008 的變更數據擷取,它會自動擷取您想要管理的數據。不幸的是,它只是企業版,這意味著它並不便宜。如果你想避免重新發明輪子,這是要走的路。
當您說“非常繁忙的網站”時,它會引發危險信號。這些技術,即使是你自己的,都不會是低成本的。