是否有一个 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/