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)