是否有一個t-sql腳本來查找沒有被存儲過程,視圖,函數等sql服務器中使用的表我有一個數據庫有100個表,如果沒有更多,並在我去之前表,我想知道是否有腳本可以通過數據庫中的每個對象,並告訴我是否有任何表正在使用。tsql腳本查找未被存儲過程,視圖,函數等使用的表?
6
A
回答
8
如果您想使用腳本,here (Listing SQL Server Object Dependencies)是一篇非常好的文章,如何編寫腳本依賴關係。使用它,你可以創建一個被引用的表的列表。你有你的數據庫中的表的列表,所以你知道哪些沒有被使用。
在文章中他們使用
sp_depends存儲過程。但它有一個失敗。例如,如果您有一個使用表「MyTable」的存儲過程,並且在創建表「MyTable」之前創建過程,則不會在依賴關係列表中看到此過程。這就是爲什麼你應該搜索表
syscomments找到依賴關係。但是這也是不準確的,因爲如果你在註釋中有表的名字,你會把它當作一個依賴項。
4
如果您使用的是管理工作室,則可以右鍵單擊表格並查看依賴關係。
這裏是如何做到這一點的T-SQL,這是我猜的文章的鏈接是你在找什麼:
https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/datacenter/?p=277
你總是可以建立一個臨時表/ var與所有具有依賴關係的表進行比較,並將其與所有表進行比較以查看沒有任何依賴關係的內容。
8
據我所知,你不能真正依靠SQL Server的依賴管理。盧卡斯指出了許多問題之一。
2005年,相當於舊的syscomments表是sys.sql_modules。
要找到它不TSQL代碼(視圖,業務提供商,函數)發生的所有表名,使用以下語句:
select t.name, sys.objects.name foundin, sys.objects.type_desc
from sys.objects t
left outer join
sys.sql_modules
inner join sys.objects on sys.objects.object_id = sys.sql_modules.object_id
on sys.sql_modules.definition like '%' + t.name + '%'
where t.type = 'U'
and sys.objects.name is null
order by t.name, type_desc, foundin
如果您註釋掉符合IS NULL條件,你會發現所有的TSQL代碼中所有表名的出現。 (不管表名真的是指那張表)
相關問題
- 1. 查詢TSQL查詢找到未使用的存儲過程
- 2. 如何從TSQL腳本存儲過程
- 3. 數據庫表,函數,存儲過程,視圖等的日誌使用情況
- 4. 查找表的列,存儲過程,視圖和函數引用哪個列
- 5. 在所有存儲過程中查找使用表值函數
- 6. 查找未被CRUD存儲過程觸及的數據庫列
- 7. TSQL存儲函數
- 8. TSQL從函數或存儲過程返回表
- 9. TSQL創建存儲過程使用c#
- 10. 查找存儲過程中未引用的所有表格
- 11. 在存儲過程中保存tsql函數的結果
- 12. TSQL存儲過程的參數錯誤
- 13. 在代碼中查找未使用的存儲過程?
- 14. TSQL存儲過程廢話
- 15. TSQL:存儲過程和ROWLOCK
- 16. 優化TSQL存儲過程
- 17. TSQL存儲過程和XQuery?
- 18. 查找存儲過程的實際腳本
- 19. 使用存儲過程/函數創建數據庫,表,過程?
- 20. SSIS使用存儲過程將DB數據存入TSQL
- 21. Sql:使用存儲過程代碼替換存儲過程調用的腳本
- 22. 找到使用用戶定義函數的存儲過程?
- 23. 查找存儲過程
- 24. 查找Oracle存儲過程
- 25. SSMS:如何在沒有腳本的情況下查看存儲過程/視圖/函數?
- 26. 過濾存儲過程的腳本
- 27. 使用存儲過程作爲函數
- 28. 加入表函數的存儲過程?
- 29. 如何找出存儲過程中使用的表/視圖/同義詞
- 30. 返回存儲過程中使用的所有表和視圖
什麼是「不被使用」的表?你的意思是空桌子? – 2009-09-18 16:49:21
不,我的意思是沒有在存儲過程,視圖,函數等中使用的表格。假設我前一段創建了一個數據庫,它有100個表,有些表已經過時,但我不確定,所以在我之前去開始放棄表格,我想知道它們是否在使用中。我不明白爲什麼這個問題被拒絕投票,似乎是一個非常有效和明智的問題。 – Xaisoft 2009-09-18 17:02:27
也許將標題更改爲「T-SQL腳本以查找未被存儲過程,視圖和函數引用的表」。 – shufler 2009-09-18 17:08:43