How to find SQL server Object dependency

Using TSQL we can find all dependent objects from all databases including remote server linked objects (sql_expression_dependencies is ) Contains one row for each by-name dependency on a user-defined entity in the current database. This includes dependencies between natively compiled, scalar user-defined functions, and other SQL Server modules.

CREATE TABLE #alldep (
	dbname VARCHAR(100)
	,objname VARCHAR(100)
	,sdbname VARCHAR(100)
	,sschma VARCHAR(100)
	,stable VARCHAR(100)
	,sserver VARCHAR(100)
	)

INSERT INTO #alldep
EXEC SP_MSFOREACHDB 'use ?
SELECT db_name()
, OBJECT_NAME (referencing_id) AS referencing_object
, referenced_database_name
, referenced_schema_name
, referenced_entity_name
,referenced_server_name
FROM sys.sql_expression_dependencies
WHERE referenced_database_name IS NOT NULL /* need to check*/
AND is_ambiguous = 0'
select * from #alldep
select * from #alldep where sserver <> ''

https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sql-expression-dependencies-transact-sql?view=sql-server-ver15

Spread the love