前期准备:
use studioA;
go
create table T(X int,Y int);
insert into T(X,Y) values(1,1),(2,2);
go
-------------------------------------
use StudioB;
go
create procedure proc_for_B
as
begin
select * from StudioA.dbo.T;
end
go
------------------------------------------------------------------------------------------------------------------------------------
方法 1、
对象之间的引用关系、都是定义在SQL 语句中的、比如proc_A要查看tableA表,那么在proc_A的代码中就引用了tableA表;
也就是说、我们可以从sys.sql_expression_dependencis;这个视图中查看。
select referenced_entity_name as [被引用的对象名],object_name(referencing_id)[主动对象]
from sys.sql_expression_dependencies ped;
go
方法 2、
SQL Server 对于对象间的引用关系,也是专门有记录的。我们可以通过
sys.dm_sql_referenced_entities、
sys.dm_sql_referencing_entities来查看
select * from sys.dm_sql_referenced_entities( 'dbo.proc_for_B','object');
go