SQL Server ma widok katalogu systemowego o nazwie sys.sql_dependencies
który zwraca informacje o zależnościach między jednostkami.
Firma Microsoft oznaczyła ten widok jako przestarzały, co oznacza, że jest w trybie konserwacji i może zostać usunięty w przyszłej wersji programu SQL Server. Powinieneś unikać używania sys.sql_dependencies
w nowych pracach programistycznych i powinieneś zmodyfikować aplikacje, które obecnie go używają, aby używały sys.sql_expression_dependencies
zamiast tego.
sys.sql_expression_dependencies
widok katalogu systemowego zwraca wszystkie zależności od encji zdefiniowanej przez użytkownika w bieżącej bazie danych. Obejmuje to zależności między natywnie skompilowanymi, skalarnymi funkcjami zdefiniowanymi przez użytkownika a innymi modułami SQL Server.
Możesz użyć tego widoku, aby:
- Zwróć jednostki zależne od danej jednostki
- Zwróć encje, od których zależy dana encja
Na przykład można go użyć do zwrócenia wszystkich obiektów, które odwołują się do określonej tabeli. Możesz go również użyć do zwrócenia wszystkich obiektów, do których odwołuje się określona procedura składowana w swoim kodzie.
Aby uzyskać więcej informacji i przykładów, zobacz mój post:Znajdź zależności w SQL Server:sql_expression_dependencies.
Nie jesteś pewien, czy obecnie używasz sys.sql_dependencies?
Jeśli nie masz pewności, czy Twój system używa sys.sql_dependencies
, zawsze możesz użyć sys.dm_os_performance_counters
aby się dowiedzieć. Możesz użyć tego widoku dynamicznego zarządzania systemem, aby zwrócić liczbę napotkanych każdej przestarzałej funkcji od czasu uruchomienia programu SQL Server. Sprawdź najszybszy sposób na znalezienie przestarzałych funkcji, które są nadal używane w instancji SQL Server, aby uzyskać więcej informacji i przykładów.
Bardziej skomplikowaną metodą jest użycie rozszerzonych zdarzeń do utworzenia pliku dziennika zawierającego dodatkowe informacje o każdym użyciu przestarzałej funkcji. Na przykład można rejestrować informacje, takie jak instrukcja SQL zawierająca przestarzałą funkcję, użytkownika, który ją uruchomił, czas jej uruchomienia, bazę danych, w której się znajdowała, i inne. Zobacz Korzystanie z rozszerzonych zdarzeń do rejestrowania przestarzałych funkcji używanych w instancji SQL Server, aby uzyskać szczegółowe instrukcje, jak to zrobić.
Dokumentacja Microsoft
- sys.sql_dependencies
- sys.sql_expression_dependencies
- Przestarzałe funkcje aparatu bazy danych w SQL Server 2017
- Przestarzałe funkcje aparatu bazy danych w SQL Server 2016 (takie same jak lista 2017)