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

N'utilisez pas sys.sql_dependencies dans SQL Server (il est obsolète)

SQL Server a une vue de catalogue système appelée sys.sql_dependencies qui renvoie des informations sur les dépendances entre les entités.

Microsoft a marqué cette vue 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 sys.sql_dependencies dans de nouveaux travaux de développement, et vous devez modifier les applications qui l'utilisent actuellement pour utiliser sys.sql_expression_dependencies à la place.

Les sys.sql_expression_dependencies La vue du catalogue système renvoie toutes les dépendances sur une entité définie par l'utilisateur dans la base de données actuelle. Cela inclut les dépendances entre les fonctions scalaires définies par l'utilisateur compilées en mode natif et d'autres modules SQL Server.

Vous pouvez utiliser cette vue pour :

  • Renvoyer les entités qui dépendent d'une entité donnée
  • Renvoyer les entités dont dépend une entité donnée

Par exemple, vous pouvez l'utiliser pour renvoyer tous les objets faisant référence à une table spécifique. Vous pouvez également l'utiliser pour renvoyer tous les objets auxquels une procédure stockée spécifique fait référence dans son code.

Pour plus d'informations et d'exemples, consultez mon article :Rechercher les dépendances dans SQL Server :sql_expression_dependencies.

Vous ne savez pas si vous utilisez actuellement sys.sql_dependencies ?

Si vous n'êtes pas sûr que votre système utilise sys.sql_dependencies , 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

  • sys.sql_dependencies
  • sys.sql_expression_dependencies
  • 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)