哪个存储过程更新表中的某些特定列

时间:2010-12-08 01:47:41

标签: sql-server-2008

我正在尝试研究为什么表中的某些列未更新。为了找到根本原因,我试图确定哪些存储过程可以更新表中的那些特定列。

所以..

如何识别将更新给定数据库中table123中的列aa,bb,cc的存储过程?

可能有许多存储过程更新此表。该表可能有许多其他列。是否可以识别?

4 个答案:

答案 0 :(得分:1)

运行此查询

SELECT Name
FROM sys.procedures
WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%put text here%'

答案 1 :(得分:0)

我强烈建议您使用SQL Digger之类的工具 - 我们会定期在工作中使用此功能来搜索SP中的数据等,以确切地解决您所描述的问题(以及许多其他问题)。

Redgate也有类似的产品(SQL Search

答案 2 :(得分:0)

如果对源代码的搜索没有结果,您可以在表格上设置触发器,然后use extended events to get the full TSQL trace of the triggering statement

答案 3 :(得分:0)

Red Gate Software的SQL Prompt 5具有列依赖关系功能,在这种情况下可能很有用。将鼠标悬停在脚本中的列名称上,然后弹出一个窗口,其中包含使用该列的对象列表,包括存储过程。

您可以免费下载14天试用版,以查看此功能是否适合您。

保罗史蒂芬森 SQL提示项目经理
红门软件