Quali sono i valori non documentati per referencing_class in sys.sql_expression_dependencies?

Oct 22 2020

In SQL Server, la sys.sql_expression_dependenciesvista del catalogo di sistema "Contiene una riga per ogni dipendenza per nome da un'entità definita dall'utente nel database corrente", per citare i documenti. Una delle colonne restituite è referencing_class, di cui i documenti dicono questo:

referencing_class tinyint Classe dell'entità di riferimento.

  • 1 = Oggetto o colonna

  • 12 = Trigger DDL database

  • 13 = Trigger DDL del server

Non è annullabile.

Tuttavia, in questo momento sto esaminando un database in cui è presente una riga con referencing_classuguale a 7. Cosa significa 7 e qual è l'elenco corretto di valori possibili qui?

Risposte

3 AakashM Oct 22 2020 at 19:56

Questa carenza nei documenti è stata sollevata come un problema nell'agosto 2019 , con il commento di MS

Abbiamo creato un elemento di lavoro interno (1595947) per esaminare e potenzialmente aggiornare l'articolo.

Chiuderemo questo elemento e tracciamo con il nostro oggetto di lavoro interno

Fino a quando MS non aggiornerà l'articolo (o accetterà un PR contro i documenti), ecco un elenco probabilmente parziale degli altri valori possibili:


referencing_class referencing_class_desc
----------------- ----------------------
7                 INDEX
9                 STATISTICS
  • 7 = Indice filtrato (si noti che i normali indici non filtrati non sono presenti in questa vista di sistema)
  • 9 = Statistiche filtrate

Questo documento di supporto Microsoft mostra referencing_class = 7in relazione agli indici filtrati.

Sulla base della sezione Osservazioni probabilmente non ce ne sono altri.