SQL Server dispone di una vista del catalogo di sistema denominata sys.sql_dependencies
che restituisce informazioni sulle dipendenze tra entità.
Microsoft ha contrassegnato questa visualizzazione come obsoleta, il che significa che è in modalità di manutenzione e potrebbe essere rimossa in una versione futura di SQL Server. Dovresti evitare di usare sys.sql_dependencies
in un nuovo lavoro di sviluppo e dovresti modificare le applicazioni che attualmente lo utilizzano per utilizzare sys.sql_expression_dependencies
invece.
Le sys.sql_expression_dependencies
la vista del catalogo di sistema restituisce tutte le dipendenze da un'entità definita dall'utente nel database corrente. Ciò include le dipendenze tra le funzioni scalari definite dall'utente compilate in modo nativo e altri moduli di SQL Server.
Puoi utilizzare questa visualizzazione per:
- Restituire entità che dipendono da una determinata entità
- Entità di ritorno da cui dipende una determinata entità
Ad esempio, puoi usarlo per restituire tutti gli oggetti che fanno riferimento a una tabella specifica. Puoi anche usarlo per restituire tutti gli oggetti a cui fa riferimento una specifica procedura memorizzata all'interno del suo codice.
Per ulteriori informazioni ed esempi, vedere il mio post:Trova dipendenze in SQL Server:sql_expression_dependencies.
Non sei sicuro di utilizzare attualmente sys.sql_dependencies?
Se non sei sicuro che il tuo sistema utilizzi sys.sql_dependencies
, puoi sempre usare sys.dm_os_performance_counters
per scoprirlo. È possibile utilizzare questa visualizzazione a gestione dinamica del sistema per restituire un conteggio di quante volte è stata rilevata ciascuna funzionalità deprecata dall'avvio di SQL ServerSQL Server. Per ulteriori informazioni ed esempi, consulta il modo più rapido per trovare funzionalità obsolete ancora in uso in un'istanza di SQL Server.
Un metodo più elaborato consiste nell'usare eventi estesi per creare un file di registro che contiene informazioni aggiuntive su ogni utilizzo della funzionalità deprecata. Ad esempio, puoi registrare informazioni come l'istruzione SQL che contiene la funzionalità deprecata, l'utente che l'ha eseguita, l'ora in cui è stata eseguita, il database in cui si trovava e altro ancora. Vedere Utilizzo di eventi estesi per registrare funzionalità obsolete utilizzate in un'istanza di SQL Server per istruzioni dettagliate su come eseguire questa operazione.
Riferimento alla documentazione di Microsoft
- sys.sql_dipendenze
- sys.sql_expression_dependencies
- Funzionalità di Motore di database obsolete in SQL Server 2017
- Funzionalità di Motore di database obsolete in SQL Server 2016 (come l'elenco 2017)