是否有一个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. 数据库表,函数,存储过程,视图等的日志使用情况
- 3. 查找未被CRUD存储过程触及的数据库列
- 4. TSQL从函数或存储过程返回表
- 5. TSQL创建存储过程使用c#
- 6. 查找存储过程中未引用的所有表格
- 7. 在存储过程中保存tsql函数的结果
- 8. TSQL存储过程的参数错误
- 9. 在代码中查找未使用的存储过程?
- 10. 查找存储过程的实际脚本
- 11. TSQL存储过程和XQuery?
- 12. 查找存储过程
- 13. SSMS:如何在没有脚本的情况下查看存储过程/视图/函数?
- 14. 过滤存储过程的脚本
- 15. 如何找出存储过程中使用的表/视图/同义词
- 16. 使用视图而不是存储过程中的表?
- 17. 从脚本中跟踪存储过程存储的数据库
- 18. 查找源代码中未引用的存储过程
- 19. 对视图/存储过程的引用
- 20. PHP和数据库:视图,函数和存储过程性能
- 21. 查询以查找sybase存储过程中使用的表和列的列表
- 22. 如何在存储过程中查找数据表列引用
- 23. 禁用TSQL脚本检查?
- 24. 存储过程使用临时表创建数据透视表
- 25. 如何查找存储过程调用?
- 26. ASP.NET使用存储过程填充列表视图
- 27. 使用其他存储过程的存储过程列表
- 28. SqlMetal不产生视图,函数或存储过程
- 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