sql >> Databáze >  >> RDS >> Sqlserver

Nepoužívejte sys.sql_dependencies v SQL Server (je zastaralý)

SQL Server má zobrazení systémového katalogu s názvem sys.sql_dependencies který vrací informace o závislostech mezi entitami.

Společnost Microsoft označila toto zobrazení jako zastaralé, což znamená, že je v režimu údržby a v budoucí verzi serveru SQL Server může být odebráno. Měli byste se vyhnout použití sys.sql_dependencies v nové vývojové práci a měli byste upravit aplikace, které jej aktuálně používají, aby používaly sys.sql_expression_dependencies místo toho.

sys.sql_expression_dependencies zobrazení systémového katalogu vrátí všechny závislosti na uživatelem definované entitě v aktuální databázi. To zahrnuje závislosti mezi nativně zkompilovanými, skalárními uživatelem definovanými funkcemi a dalšími moduly SQL Server.

Toto zobrazení můžete použít k:

  • Vrátí entity, které závisí na dané entitě
  • Vrátí entity, na kterých daná entita závisí

Můžete jej například použít k vrácení všech objektů, které odkazují na určitou tabulku. Můžete jej také použít k vrácení všech objektů, na které konkrétní uložená procedura odkazuje ve svém kódu.

Další informace a příklady naleznete v mém příspěvku:Najít závislosti na serveru SQL Server:sql_expression_dependencies.

Nejste si jisti, zda aktuálně používáte sys.sql_dependencies?

Pokud si nejste jisti, zda váš systém používá sys.sql_dependencies , můžete vždy použít sys.dm_os_performance_counters zjistit. Toto zobrazení dynamické správy systému můžete použít k vrácení počtu, kolikrát byla každá zastaralá funkce nalezena od spuštění serveru SQL Server. Podívejte se na Nejrychlejší způsob, jak najít zastaralé funkce, které se stále používají v instanci SQL Server, kde najdete další informace a příklady.

Propracovanější metodou je použití rozšířených událostí k vytvoření souboru protokolu, který obsahuje další informace o každém použití zastaralé funkce. Můžete například zaznamenat informace, jako je příkaz SQL, který obsahuje zastaralou funkci, uživatele, který ji spustil, čas spuštění, databázi, ve které se nacházel a další. Pokyny krok za krokem, jak to provést, najdete v části Použití rozšířených událostí k protokolování zastaralých funkcí používaných v instanci serveru SQL.

Příručka k dokumentaci Microsoft

  • sys.sql_dependencies
  • sys.sql_expression_dependencies
  • Zastaralé funkce databázového stroje v SQL Server 2017
  • Zastaralé funkce databázového stroje v SQL Server 2016 (stejné jako seznam 2017)

  1. SQL dotazy

  2. SQL - Aktualizace více záznamů v jednom dotazu

  3. Jak používat DISTINCT v SQL

  4. Jak zkontrolovat verzi PostgreSQL