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

N'utilisez pas sp_depends dans SQL Server (il est obsolète)

SQL Server a une procédure stockée système appelée sp_depends qui renvoie des informations sur les dépendances entre les objets dans la base de données actuelle.

Microsoft a marqué cette procédure stockée comme obsolète, ce qui signifie qu'elle est en mode maintenance et peut être supprimée dans une future version de SQL Server. Vous devriez éviter d'utiliser sp_depends dans de nouveaux travaux de développement, et vous devez modifier les applications qui l'utilisent actuellement pour utiliser soit sys.dm_sql_referencing_entities() ou sys.dm_sql_referenced_entities() à la place (selon que vous avez besoin ou non de référencement entités, ou référencées entités à retourner.

Le sys.dm_sql_referencing_entities() La fonction de gestion dynamique du système renvoie une liste d'entités qui dépendent de l'entité donnée. Plus précisément, il renvoie toutes les entités de la base de données actuelle qui référencent une autre entité définie par l'utilisateur par son nom.

Le sys.dm_sql_referenced_entities() La fonction de gestion dynamique du système, d'autre part, renvoie une liste de toutes les entités définies par l'utilisateur dont dépend une entité spécifique. Plus précisément, il renvoie toutes les entités définies par l'utilisateur qui sont référencées par leur nom, dans la définition d'une entité donnée. Vous pouvez utiliser cette fonction pour les entités inter-bases de données et inter-serveurs.

Vous ne savez pas si vous utilisez actuellement sp_depends ?

Si vous n'êtes pas sûr que votre système utilise sp_depends , vous pouvez toujours utiliser sys.dm_os_performance_counters découvrir. Vous pouvez utiliser cette vue de gestion dynamique du système pour renvoyer le nombre de fois où chaque fonctionnalité obsolète a été rencontrée depuis le démarrage de SQL Server. Consultez la méthode la plus rapide pour trouver des fonctionnalités obsolètes encore utilisées dans une instance SQL Server pour plus d'informations et d'exemples.

Une méthode plus élaborée consiste à utiliser des événements étendus pour créer un fichier journal contenant des informations supplémentaires sur chaque utilisation de la fonctionnalité obsolète. Par exemple, vous pouvez enregistrer des informations telles que l'instruction SQL contenant la fonctionnalité obsolète, l'utilisateur qui l'a exécutée, l'heure à laquelle elle a été exécutée, la base de données dans laquelle elle se trouvait, etc. Consultez Utilisation d'événements étendus pour consigner les fonctionnalités obsolètes utilisées dans une instance SQL Server pour obtenir des instructions détaillées sur la façon de procéder.

Référence de la documentation Microsoft

  • sp_dépend
  • sys.dm_sql_referencing_entities
  • sys.dm_sql_referenced_entities
  • Fonctionnalités obsolètes du moteur de base de données dans SQL Server 2017
  • Fonctionnalités obsolètes du moteur de base de données dans SQL Server 2016 (identique à la liste de 2017)