SQL Server har en systemlagrad procedur som heter sp_depends
som returnerar information om beroenden mellan objekt i den aktuella databasen.
Microsoft har markerat denna lagrade procedur som utfasad, vilket betyder att den är i underhållsläge och kan tas bort i en framtida version av SQL Server. Du bör undvika att använda sp_depends
i nytt utvecklingsarbete, och du bör modifiera applikationer som för närvarande använder det för att använda antingen sys.dm_sql_referencing_entities()
eller sys.dm_sql_referenced_entities()
istället (beroende på om du behöver referens enheter, eller referens enheter som ska returneras.
sys.dm_sql_referencing_entities()
systemets dynamiska hanteringsfunktion returnerar en lista över enheter som är beroende av den givna enheten. Mer specifikt returnerar den alla enheter i den aktuella databasen som refererar till en annan användardefinierad enhet med namn.
sys.dm_sql_referenced_entities()
systemets dynamiska hanteringsfunktion, å andra sidan, returnerar en lista över alla användardefinierade enheter som en specifik enhet är beroende av. Mer specifikt returnerar den alla användardefinierade entiteter som refereras till med namn, i definitionen av en given entitet. Du kan använda den här funktionen för entiteter över databaser och servrar.
Osäker på om du för närvarande använder sp_depends?
Om du inte är säker på om ditt system använder sp_depends
, kan du alltid använda sys.dm_os_performance_counters
att få reda på. Du kan använda den här dynamiska hanteringsvyn för att returnera en räkning av hur många gånger varje utfasad funktion har påträffats sedan SQL Server startades. Kolla in Snabbaste sättet att hitta föråldrade funktioner som fortfarande används i en SQL Server-instans för mer information och exempel.
En mer utarbetad metod är att använda utökade händelser för att skapa en loggfil som innehåller extra information om varje användning av den föråldrade funktionen. Du kan till exempel spela in information som SQL-satsen som innehåller den föråldrade funktionen, användaren som körde den, tiden den kördes, databasen den fanns i och mer. Se Använda utökade händelser för att logga föråldrade funktioner som används i en SQL Server-instans för steg-för-steg-instruktioner om hur du gör det.
Microsoft Documentation Reference
- sp_beror
- sys.dm_sql_referencing_entities
- sys.dm_sql_referenced_entities
- Utfasade databasmotorfunktioner i SQL Server 2017
- Utfasade databasmotorfunktioner i SQL Server 2016 (samma som 2017 års lista)