SQL server other database dependency find using sql_expression_dependencies
SELECT DB_NAME() referencing_database_name, OBJECT_NAME (referencing_id) referencing_entity_name, ISNULL(referenced_schema_name,'dbo') referenced_schema_name, referenced_entity_name, ao.type_desc referenced_entity_type, ISNULL(referenced_database_name,DB_NAME()) referenced_database_name FROM sys.sql_expression_dependencies sed JOIN sys.all_objects ao ON sed.referenced_entity_name = ao.name
Nested level dependency
WITH NestDep AS ( SELECT o.[object_id] AS referenced_id , o.name AS referenced_name, o.[object_id] AS referencing_id, o.name AS referencing_name, 0 AS NestLvl FROM sys.objects o WHERE o.name = 'obj-1' UNION ALL SELECT d1.referenced_id, OBJECT_NAME( d1.referenced_id) , d1.referencing_id, OBJECT_NAME( d1.referencing_id) , NestLvl + 1 FROM sys.sql_expression_dependencies d1 JOIN NestDep r ON d1.referenced_id = r.referencing_id ) SELECT DISTINCT referenced_id, referenced_name, referencing_id, referencing_name, NestLvl FROM NestDep WHERE NestLvl > 0 ORDER BY NestLvl, referencing_id;
To find link server dependency.
SELECT DB_NAME() referencing_database_name, OBJECT_NAME (referencing_id) referencing_entity_name, ISNULL(referenced_schema_name,'dbo') referenced_schema_name, referenced_entity_name, ao.type_desc referenced_entity_type, ISNULL(referenced_database_name,DB_NAME()) referenced_database_name ,referenced_server_name FROM sys.sql_expression_dependencies sed JOIN sys.all_objects ao ON sed.referenced_entity_name = ao.name where referenced_server_name is not null