2011-05-17 70 views
0

有什麼方法可以確定任何表是否被任何項目使用? 當然問題是當表只是只讀的時候;否則,我可以從 看到新插入的行。同樣的問題是存儲過程。 SQL Server Profiler應該可能對SP有所幫助,不確定有關表。 但我不想坐下來觀察SQL Server Profiler。我希望有一種通知。 所以基本上,我想設置一個觸發器或其他東西,如果表被擊中,讀取然後 它通知我。MS SQL Server 2008如何知道表/存儲過程是否在使用?

感謝您的幫助

回答

1

沒有某種形式的規劃未來,我相信答案是「不,你不能確定使用100%的準確性「。

  • 如果您查看了識別所有參考對象的代碼,則可能始終存在某些您誤解,錯誤解釋或僅顯示錯過的內容。 (邊緣情況:維護例程,管理員腳本,遺忘的遺留代碼)
  • 如果您在T時間段內觀察到數據庫上的所有活動,則總會有一些過程在該段時間內沒有發生。 (邊緣情況:全年流程,災難恢復程序)
  • 以上的路口,有可能是由用戶或管理員進行特設的活動,沒有證件和/或極少進行

的一點是, SQL Server根本無法知道可能會發生此類操作和活動。您應該能夠挑選出所有數據庫活動的90%,98%或99.9%,但是如果您需要100%保證table dbo.LegacyDump是平淡無奇的垃圾,而且沒有進入原始設計和實施(並有全面召回),你不能達到100%。

當你達到那一點時,你最好的選擇是提出一個風險評估(如果我們放棄這個表格有多糟糕),一個應急計劃(如果事實證明我們不應該做什麼刪除該表)和文檔(以便您或任何人可以清楚地記得當您發現您計算C級年度獎金的系統時所做出的決定)。

相關問題