sql - tsql 脚本来查找未被存储过程、 View 、函数等使用的表?

标签 sql sql-server sql-server-2005 tsql

是否有一个 t-sql 脚本可以找出 sql server 中未通过存储过程、 View 、函数等使用的表。我有一个数据库,其中有 100 个表,如果不是更多的话,在我开始之前删除表后,我想知道是否有一个脚本可以遍历数据库中的每个对象并告诉我是否有任何表正在使用。

最佳答案

如果您想使用脚本,here (Listing SQL Server Object Dependencies)是一篇关于如何编写依赖项脚本的非常好的文章。使用它,您可以创建被引用的表的列表。您拥有数据库中的表列表,因此您知道哪些表未被使用。

在文章中他们使用

sp_depends
存储过程。然而它有一个失败之处。例如,如果您有一个使用表“MyTable”的存储过程,并且您在创建表“MyTable”之前创建了该过程,那么您将不会在依赖项列表中看到它。这就是为什么您应该搜索表
syscomments
来寻找依赖关系。但这也不准确,因为如果您在注释中包含表的名称,您会将其视为依赖项。

关于sql - tsql 脚本来查找未被存储过程、 View 、函数等使用的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1445681/

相关文章:

c# - 我的代码可以证明 SQL 注入(inject)吗?

sql - 在更新查询中使用 case 语句

java - 执行存储过程时使用 Microsoft JDBC 驱动程序的开销

sql - PostgreSQL - 按行组分页

php - 具有多个ID的Mysql选择查询

sql-server - 为什么 SharePoint 内容数据库中的 Sites.FullUrl 为空?在哪里可以找到网站集 url?

python - 无法使用 pymssql 连接到 mssql 数据库

sql - 如果 SQL 中存在语句超时

mysql - 转换sql子查询加入

sql - 创建一个只能在当前连接中访问的(临时?)表