Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Non utilizzare sp_depends in SQL Server (è deprecato)

SQL Server dispone di una stored procedure di sistema denominata sp_depends che restituisce informazioni sulle dipendenze tra oggetti all'interno del database corrente.

Microsoft ha contrassegnato questa stored procedure 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 sp_depends in un nuovo lavoro di sviluppo e dovresti modificare le applicazioni che attualmente lo utilizzano per utilizzare sys.dm_sql_referencing_entities() o sys.dm_sql_referenced_entities() invece (a seconda che tu abbia bisogno di riferimento entità o riferiti entità da restituire.

Il sys.dm_sql_referencing_entities() la funzione di gestione dinamica del sistema restituisce un elenco di entità che dipendono dall'entità data. Più specificamente, restituisce tutte le entità nel database corrente che fanno riferimento a un'altra entità definita dall'utente per nome.

Il sys.dm_sql_referenced_entities() la funzione di gestione dinamica del sistema, d'altra parte, restituisce un elenco di tutte le entità definite dall'utente da cui dipende un'entità specifica. Più specificamente, restituisce tutte le entità definite dall'utente a cui si fa riferimento per nome, nella definizione di una determinata entità. Puoi utilizzare questa funzione per entità tra database e server diversi.

Non sei sicuro di utilizzare sp_depends?

Se non sei sicuro che il tuo sistema utilizzi sp_depends , 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. Consulta il modo più rapido per trovare funzionalità obsolete ancora utilizzate in un'istanza di SQL Server per ulteriori informazioni ed esempi.

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 Microsoft

  • sp_dipende
  • sys.dm_sql_referencing_entities
  • sys.dm_sql_referenced_entities
  • Funzionalità di Motore di database obsolete in SQL Server 2017
  • Funzionalità di Motore di database obsolete in SQL Server 2016 (come l'elenco 2017)