2

我需要知道在我的 SQL Server 数据库中使用表/字段的所有位置。

我毕竟是对这个表/字段做任何事情的所有存储过程、触发器、函数等。

“查找”选项似乎没有这样做,我不敢相信这样做的唯一方法是编写查询......

4

3 回答 3

6

查询是我唯一知道的。我用这个:

SELECT DISTINCT
    o.name AS Object_Name,o.type_desc
    FROM sys.sql_modules        m 
        INNER JOIN sys.objects  o ON m.object_id=o.object_id
    WHERE m.definition Like '%WhateverIAmSearchingFor%'

我很想看看是否有人发布了一个更好的查询,也许,我可以用它来替换它。我已经有很长时间了。

于 2013-03-12T19:47:15.533 回答
4

我使用 Red Gate 的非常古老但免费的工具。它称为 SQL 搜索。它可以通过简单地指定名称来搜索任何数据库对象。很棒的是它实际上是 SSMS 插件,因此您可以从 SSMS 中使用它。我什至将它与 SSMS 2012 一起使用。

PS我与红门没有任何关系

于 2013-03-12T20:22:14.730 回答
2

查看视图、函数、触发器、存储过程等:

SELECT DISTINCT SO.NAME
  FROM SYSOBJECTS SO INNER JOIN
       SYSCOMMENTS SC ON SC.ID = SO.ID
 WHERE SC.TEXT LIKE '%foo%'
于 2013-03-12T19:53:02.240 回答