SQL Server har en systemkatalogvisning kaldet sys.sql_dependencies
der returnerer information om afhængigheder mellem enheder.
Microsoft har markeret denne visning som forældet, hvilket betyder, at den er i vedligeholdelsestilstand og kan blive fjernet i en fremtidig version af SQL Server. Du bør undgå at bruge sys.sql_dependencies
i nyt udviklingsarbejde, og du bør ændre applikationer, der i øjeblikket bruger det til at bruge sys.sql_expression_dependencies
i stedet.
sys.sql_expression_dependencies
systemkatalogvisning returnerer alle afhængigheder af en brugerdefineret enhed i den aktuelle database. Dette inkluderer afhængigheder mellem indbygget kompilerede, skalære brugerdefinerede funktioner og andre SQL Server-moduler.
Du kan bruge denne visning til at:
- Returner enheder, der er afhængige af en given enhed
- Returner enheder, som en given enhed afhænger af
For eksempel kan du bruge det til at returnere alle objekter, der refererer til en bestemt tabel. Du kan også bruge den til at returnere alle objekter, som en specifik lagret procedure refererer til i sin kode.
For mere information og eksempler, se mit indlæg:Find afhængigheder i SQL Server:sql_expression_dependencies.
Ikke sikker på, om du i øjeblikket bruger sys.sql_dependencies?
Hvis du ikke er sikker på, om dit system bruger sys.sql_dependencies
, kan du altid bruge sys.dm_os_performance_counters
at finde ud af. Du kan bruge denne dynamiske systemstyringsvisning til at returnere en optælling af, hvor mange gange hver forældet funktion er blevet stødt på, siden SQL Server blev startet. Se Hurtigste måde at finde forældede funktioner, der stadig bruges i en SQL Server-instans for mere information og eksempler.
En mere kompliceret metode er at bruge udvidede hændelser til at oprette en logfil, der indeholder ekstra information om hver brug af den forældede funktion. Du kan f.eks. registrere oplysninger såsom SQL-sætningen, der indeholder den forældede funktion, brugeren, der kørte den, tidspunktet, den blev kørt, databasen, den var i og mere. Se Brug af udvidede hændelser til at logge forældede funktioner, der bruges i en SQL Server-instans for trinvise instruktioner om, hvordan du gør det.
Microsoft Documentation Reference
- sys.sql_dependencies
- sys.sql_expression_dependencies
- Forældede databasemotorfunktioner i SQL Server 2017
- Forældede databasemotorfunktioner i SQL Server 2016 (samme som 2017-listen)