sql >> Base de Datos >  >> RDS >> Sqlserver

Una forma confiable de verificar los procedimientos almacenados de T-SQL

Esto es lo que funcionó para mí:

-- 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

Debería obtener todas las dependencias faltantes para sus SP, resolviendo problemas con enlace tardío.

Excepción :is_caller_dependent =1 no significa necesariamente una dependencia rota. Simplemente significa que la dependencia se resuelve en tiempo de ejecución porque no se especifica el esquema del objeto al que se hace referencia. Puede evitarlo especificando el esquema del objeto referenciado (otro SP por ejemplo).

Créditos a Blog de Jay y el comentarista anónimo...