SQL Server има изглед на системния каталог, наречен sys.sql_dependencies
който връща информация за зависимостите между обектите.
Microsoft маркира този изглед като остарял, което означава, че е в режим на поддръжка и може да бъде премахнат в бъдеща версия на SQL Server. Трябва да избягвате използването на sys.sql_dependencies
в нова разработка и трябва да модифицирате приложенията, които в момента го използват, за да използват sys.sql_expression_dependencies
вместо това.
sys.sql_expression_dependencies
изгледът на системния каталог връща всички зависимости от потребителски дефиниран обект в текущата база данни. Това включва зависимости между собствено компилирани, скаларни дефинирани от потребителя функции и други модули на SQL Server.
Можете да използвате този изглед за:
- Връщане на обекти, които зависят от даден обект
- Върнете обекти, от които зависи даден обект
Например, можете да го използвате, за да върнете всички обекти, които препращат към конкретна таблица. Можете също да го използвате, за да върнете всички обекти, които конкретна съхранена процедура препраща в своя код.
За повече информация и примери вижте публикацията ми:Намерете зависимости в SQL Server:sql_expression_dependencies.
Не сте сигурни дали в момента използвате sys.sql_dependencies?
Ако не сте сигурни дали системата ви използва sys.sql_dependencies
, винаги можете да използвате sys.dm_os_performance_counters
да открия. Можете да използвате този изглед за динамично управление на системата, за да върнете броя на колко пъти е била срещана всяка отхвърлена функция от стартирането на SQL Server. Вижте Най-бързият начин за намиране на остарели функции, които все още се използват в екземпляр на SQL сървър за повече информация и примери.
По-сложен метод е използването на разширени събития за създаване на регистрационен файл, който съдържа допълнителна информация за всяко използване на оттеглената функция. Например, можете да записвате информация като SQL израза, който съдържа оттеглената функция, потребителя, който я е стартирал, времето, в което е била стартирана, базата данни, в която е била, и др. Вижте Използване на разширени събития за регистриране на остарели функции, използвани в екземпляр на SQL Server за инструкции стъпка по стъпка как да направите това.
Справочник за документацията на Microsoft
- sys.sql_dependencies
- sys.sql_expression_dependencies
- Оттеглените функции на Database Engine в SQL Server 2017
- Остаряли функции на Database Engine в SQL Server 2016 (същите като списъка от 2017 г.)