sql >> Base de Datos >  >> RDS >> Sqlserver

No use sys.sql_dependencies en SQL Server (está en desuso)

SQL Server tiene una vista de catálogo del sistema llamada sys.sql_dependencies que devuelve información sobre dependencias entre entidades.

Microsoft ha marcado esta vista como obsoleta, lo que significa que está en modo de mantenimiento y puede eliminarse en una versión futura de SQL Server. Debe evitar usar sys.sql_dependencies en el nuevo trabajo de desarrollo, y debe modificar las aplicaciones que actualmente lo usan para usar sys.sql_expression_dependencies en su lugar.

sys.sql_expression_dependencies La vista de catálogo del sistema devuelve todas las dependencias de una entidad definida por el usuario en la base de datos actual. Esto incluye dependencias entre funciones escalares definidas por el usuario compiladas de forma nativa y otros módulos de SQL Server.

Puede usar esta vista para:

  • Devolver entidades que dependen de una determinada entidad
  • Devolver entidades de las que depende una determinada entidad

Por ejemplo, podría usarlo para devolver todos los objetos que hacen referencia a una tabla específica. También puede usarlo para devolver todos los objetos a los que hace referencia un procedimiento almacenado específico dentro de su código.

Para obtener más información y ejemplos, consulte mi publicación:Buscar dependencias en SQL Server:sql_expression_dependencies.

¿No está seguro si actualmente está usando sys.sql_dependencies?

Si no está seguro de si su sistema usa sys.sql_dependencies , siempre puede usar sys.dm_os_performance_counters descubrir. Puede usar esta vista de administración dinámica del sistema para devolver un recuento de cuántas veces se ha encontrado cada función en desuso desde que se inició SQL Server. Consulte la forma más rápida de encontrar funciones obsoletas que todavía se utilizan en una instancia de SQL Server para obtener más información y ejemplos.

Un método más elaborado es usar eventos extendidos para crear un archivo de registro que contenga información adicional sobre cada uso de la característica obsoleta. Por ejemplo, puede registrar información como la instrucción SQL que contiene la función obsoleta, el usuario que la ejecutó, la hora en que se ejecutó, la base de datos en la que se encontraba y más. Consulte Uso de eventos extendidos para registrar funciones obsoletas que se utilizan en una instancia de SQL Server para obtener instrucciones paso a paso sobre cómo hacerlo.

Referencia de documentación de Microsoft

  • sys.sql_dependencies
  • sys.sql_expression_dependencies
  • Características obsoletas del motor de base de datos en SQL Server 2017
  • Características obsoletas del motor de base de datos en SQL Server 2016 (igual que la lista de 2017)