Bonjour,
Comment lister les procedures qui se servent d'une table de la base?
Merci
Bonjour,
Comment lister les procedures qui se servent d'une table de la base?
Merci
Bonjour,
Le procédure stockée sp_depends affiche les dépendances d'une table ou d'une vue.
Je vous conseil donc d'utiliser les vues sys.dm_sql_referencing_entities et sys.dm_sql_referenced_entities.
Sauf que ces tables ne sont pas forcément à jour, vu la nature dynamique du SQL.... Donc on ne peut pas se reposer dessus pour être sûr de la chose à un moment donné.
C'est pourquoi j'ai démontré depuis des années que seule l'utilisation d'une norme de nommage très précise pour l'ensemble des objets d'une base permet de retrouver dans le texte de définition des objets de code de la base (proc stock, fonction, trigger....) une table ou une vue en utilisant tout simplement le LIKE !
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Bonjour,
dès SQL Server 2005 SP2, il est possible d'utiliser la procédure stockée système sp_refreshsqlmodule, qui semble marcher proprement.
Maintenant je vous conseille quand même d'utiliser la vue système sys.sql_modules, car même en ayant une forte convention de nommage, il est parfois difficile de savoir quel module utilise quelle table.
Enfin vu la faible puissance du LIKE, vous pouvez en dernier recours effectuer un export de tous vos modules SQL dans un fichier et effectuer une recherche avec des expressions régulières avec un bon outil d'édition de fichier texte
@++
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager