Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Eine zuverlässige Möglichkeit, gespeicherte T-SQL-Prozeduren zu überprüfen

Folgendes hat bei mir funktioniert:

-- Based on comment from http://blogs.msdn.com/b/askjay/archive/2012/07/22/finding-missing-dependencies.aspx
-- Check also http://technet.microsoft.com/en-us/library/bb677315(v=sql.110).aspx

select o.type, o.name, ed.referenced_entity_name, ed.is_caller_dependent
from sys.sql_expression_dependencies ed
join sys.objects o on ed.referencing_id = o.object_id
where ed.referenced_id is null

Sie sollten alle fehlenden Abhängigkeiten für Ihre SPs erhalten und Probleme mit später Bindung lösen.

Ausnahme :is_caller_dependent =1 bedeutet nicht unbedingt eine unterbrochene Abhängigkeit. Es bedeutet nur, dass die Abhängigkeit zur Laufzeit aufgelöst wird, da das Schema des referenzierten Objekts nicht angegeben ist. Sie können es vermeiden, das Schema des referenzierten Objekts (z. B. eines anderen SP) anzugeben.

Dank an Jays Blog und der anonyme Kommentator...