Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Un moyen fiable de vérifier les procédures stockées T-SQL

Voici ce qui a fonctionné pour moi :

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

Vous devriez obtenir toutes les dépendances manquantes pour vos SP, en résolvant les problèmes de liaison tardive.

Exception :is_caller_dependent =1 ne signifie pas nécessairement une dépendance brisée. Cela signifie simplement que la dépendance est résolue lors de l'exécution car le schéma de l'objet référencé n'est pas spécifié. Vous pouvez éviter qu'il précise le schéma de l'objet référencé (un autre SP par exemple).

Crédits au blog de Jay et le commentateur anonyme...