J'écris un script DDL pour supprimer un certain nombre de tables mais j'ai besoin d'identifier toutes les dépendances pour ces tables en premier. Ces dépendances incluent des contraintes de clé étrangère, des procédures stockées, des vues, etc. De préférence, je souhaite programmer l'extraction de ces dépendances en utilisant les tables/vues système avant de supprimer la table dépendante.Dans SQL Server, comment identifier toutes les dépendances pour une table spécifique à l'aide de tables/vues système?
2
A
Répondre
-2
Vous pouvez utiliser la procédure stockée sp_depends pour ce faire:
USE AdventureWorks GO EXEC sp_depends @objname = N'Sales.Customer' ;
http://msdn.microsoft.com/en-us/library/ms189487(SQL.90).aspx
1
sp_depends n'est pas voir fiable: Do you depend on sp_depends (no pun intended)
3
Cela est extrêmement compliqué à écrire à partir de zéro. Avez-vous considéré un outil tiers comme Red-Gate SQL Dependency Tracker?
0
vous pouvez toujours chercher dans la table syscomments .... qui pourrait prendre un certain temps si ...
0
Pourriez-vous référence sysreferences
? Cela va générer beaucoup d'appels drop constraint
conditionnels. Devrait marcher.
sp_depends est déprécié et ne fournit pas toujours les résultats corrects pour divers problèmes déjà identifiés dans le lien - http://sqlblog.com/blogs/denis_gobo/archive/2008/05/06/6653.aspx – Xander