【问题标题】:Quick way to find usages of DB Objects in SQL Server 2008?在 SQL Server 2008 中查找数据库对象用法的快速方法?
【发布时间】:2011-09-07 22:13:26
【问题描述】:

就像 Alt F1 为您提供有关任何 DB 对象的信息一样。是否有任何快速方法可以在所有地方找出特定 db 对象所引用的位置。 例如:

-A table used in other stored procs. 
-A stored proc used in other stored procs. 
-A user defined type used as table value parameter in stored procs.

等等……

过去我使用过 Red Gate SQL Search,但我必须在我的公司获得许可才能安装它。

查询也可以。

【问题讨论】:

标签: sql sql-server sql-server-2008 sql-server-2008-r2


【解决方案1】:

2008 年的依赖关系信息比以前的版本更加可靠,因为在以“错误”顺序创建对象时,您不再会永久丢失依赖关系信息。

Stealing the example from Books Online

SELECT referencing_schema_name, 
       referencing_entity_name, 
       referencing_id, 
       referencing_class_desc, 
       is_caller_dependent
FROM sys.dm_sql_referencing_entities ('Production.Product', 'OBJECT');

【讨论】:

  • 并没有真正起作用。我尝试在函数调用中放置一个表名和存储过程名。
  • 同时有什么?它不支持。
  • 没有。不是同时,单独使用 ('procname', 'object') ('tablename','object')
【解决方案2】:

它是免费的,使用 Red-Gate SQL Search http://www.red-gate.com/products/sql-development/sql-search/

【讨论】:

    【解决方案3】:

    如果您在 SQL Server Management Studio 中右键单击某个对象,则会出现“查看依赖项”功能。

    在您的公司机器上安装 SQL Search 有什么困难?

    【讨论】:

    • 我在右键单击时找不到像查看依赖项这样的东西。您 100% 确定这是来自 SSMS 吗?
    • 是的,它位于表格的右键菜单中。您使用的是哪个版本的 SSMS?
    猜你喜欢
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 2010-10-26
    相关资源
    最近更新 更多