Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Nie używaj sys.sql_dependencies w SQL Server (jest przestarzały)

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)

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak naprawić „Żądanie COMMIT TRANSACTION nie ma odpowiadającej BEGIN TRANSACTION” w SQL Server

  2. SQL Server 2016 — wprowadzenie do bazy danych Stretch

  3. serwer sql wybierz pierwszy wiersz z grupy

  4. Jak sformatować datę i godzinę w SQL Server

  5. Jak zwrócić podciąg z ciągu w SQL Server za pomocą funkcji SUBSTRING()?