Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Não use sp_depends no SQL Server (é obsoleto)


SQL Server tem um procedimento armazenado do sistema chamado sp_depends que retorna informações sobre dependências entre objetos dentro do banco de dados atual.

A Microsoft marcou esse procedimento armazenado como obsoleto, o que significa que está em modo de manutenção e pode ser removido em uma versão futura do SQL Server. Você deve evitar usar sp_depends em um novo trabalho de desenvolvimento, e você deve modificar os aplicativos que o usam atualmente para usar sys.dm_sql_referencing_entities() ou sys.dm_sql_referenced_entities() em vez disso (dependendo se você precisa de referência entidades ou referenciados entidades a serem devolvidas.



O sys.dm_sql_referencing_entities() A função de gerenciamento dinâmico do sistema retorna uma lista de entidades que dependem de uma determinada entidade. Mais especificamente, ele retorna todas as entidades no banco de dados atual que fazem referência a outra entidade definida pelo usuário pelo nome.

O sys.dm_sql_referenced_entities() A função de gerenciamento dinâmico do sistema, por outro lado, retorna uma lista de todas as entidades definidas pelo usuário das quais uma entidade específica depende. Mais especificamente, ele retorna todas as entidades definidas pelo usuário que são referenciadas por nome, na definição de uma determinada entidade. Você pode usar essa função para entidades entre bancos de dados e servidores cruzados.

Não tem certeza se você está usando sp_depends atualmente?


Se você não tiver certeza se seu sistema usa sp_depends , você sempre pode usar sys.dm_os_performance_counters descobrir. Você pode usar essa exibição de gerenciamento dinâmico do sistema para retornar uma contagem de quantas vezes cada recurso preterido foi encontrado desde que o SQL Server foi iniciado. Confira a maneira mais rápida de encontrar recursos obsoletos que ainda estão sendo usados ​​em uma instância do SQL Server para obter mais informações e exemplos.

Um método mais elaborado é usar eventos estendidos para criar um arquivo de log que contém informações extras sobre cada uso do recurso obsoleto. Por exemplo, você pode registrar informações como a instrução SQL que contém o recurso obsoleto, o usuário que o executou, a hora em que foi executado, o banco de dados em que estava e muito mais. Consulte Usando eventos estendidos para registrar recursos obsoletos sendo usados ​​em uma instância do SQL Server para obter instruções passo a passo sobre como fazer isso.

Referência de documentação da Microsoft

  • sp_depends
  • sys.dm_sql_referencing_entities
  • sys.dm_sql_referenced_entities
  • Recursos do mecanismo de banco de dados obsoletos no SQL Server 2017
  • Recursos do mecanismo de banco de dados obsoletos no SQL Server 2016 (iguais à lista de 2017)