len*_*iqi 5 sql-server diagram stored-procedures relational-database
我正在使用SQLSEVER 2012 Management Studio在SQLSERVER 2012 Express数据库上处理一堆非常复杂的存储过程.
例如我有一个存储过程SP1调用另一个存储过程SP2和SP2调用SP3,SP3调用SP4 ...
我希望看到的是一个图表,它可以为我提供这些存储过程与这些存储过程中使用的所有表之间的完整关系.
我已经尝试过SQL Server管理工作室提供的视图依赖项工具,但有时当我单击所选存储过程的"查看依赖项"时,它会错过后代存储过程.此外,它无法显示这些存储过程之间关系的完整画面.
有什么工具可以帮我这个吗?或者有关如何理解复杂关系存储过程的任何建议?
我发现以下查询非常有用,希望它能有所帮助。
select
distinct
ObjJectType=
case Obj.xType
When 'V' then
'VIEW'
When 'P' then
'PROC'
When 'D' then
'INDEX'
When 'TF' then
'TABLE FUNCTION'
When 'FN' then
'FUNCTION'
When 'U' then
'TABLE'
When 'F' then
'FK CONSTRAINT'
When 'PK' then
'PK CONSTRAINT'
When 'TR' then
'TRIGGER'
When 'S' then
'SYSTEM OBJECT'
end ,
Obj.name
from
syscomments Com inner join sysobjects Obj
on Com.id = Obj.id
where
Com.text like '%sp_name%'
order by Obj.name
Run Code Online (Sandbox Code Playgroud)