我发现自己需要记录SQL Server中大量存储过程访问的所有表和列。我可以搜索在正文中有这个或那个文本的存储过程,但这不是我们需要的。
答案 0 :(得分:0)
有许多方法可以找到存储过程依赖项。粗略的谷歌搜索将找到你:
https://msdn.microsoft.com/en-us/library/ms345404.aspx
使用SQL Server Management Studio
在对象资源管理器中查看过程的依赖关系
在对象资源管理器中,连接到数据库引擎实例,然后展开该实例。
展开“数据库”,展开该过程所属的数据库,然后展开“可编程性”。
展开“存储过程”,右键单击该过程,然后单击“查看依赖关系”。
查看依赖于该过程的对象列表。
查看程序所依赖的对象列表。
单击“确定”。
或使用SQL:
SELECT referencing_schema_name, referencing_entity_name, referencing_id, referencing_class_desc, is_caller_dependent
FROM sys.dm_sql_referencing_entities ('table name', 'OBJECT');
等
要执行所有存储过程,您可以在sys.object
上编写一个连接,以插入上面列出的DMV,并进行一些潜在的调整......但这绝对是可行的。认为可能还有一些SSMS插件也可以。红门也许?