Viste del catalogo (Transact-SQL)

Le viste del catalogo restituiscono informazioni utilizzate da Motore di database di SQL Server. È consigliabile utilizzare tali viste perché rappresentano l'interfaccia più immediata per l'accesso ai metadati del catalogo e sono inoltre lo strumento più efficiente per ottenere, trasformare e presentare tali informazioni in forme personalizzate. Tutti i metadati del catalogo disponibili per gli utenti vengono esposti tramite le viste del catalogo.

Nota

Le viste del catalogo non contengono informazioni sulla replica, il backup, il piano di manutenzione del database o i dati del catalogo di SQL Server Agent.

Alcune viste del catalogo ereditano le righe da altre viste del catalogo. Ad esempio, la vista del catalogo sys.tables eredita dalla vista del catalogo sys.objects. La vista del catalogo sys.objects viene indicata come vista di base e la vista sys.tables come vista derivata. La vista del catalogo sys.tables restituisce non solo le colonne specifiche per le tabelle, ma anche tutte le colonne restituite dalla vista del catalogo sys.objects. La vista del catalogo sys.objects restituisce le righe per gli oggetti diversi dalle tabelle, ad esempio stored procedure e viste. Al termine della creazione di una tabella, i relativi metadati vengono restituiti in entrambe le viste. Nonostante le due viste del catalogo restituiscano diversi livelli di informazioni sulla tabella, nei metadati è presente un'unica voce, con un nome e un object_id corrispondenti. Questo processo può essere riepilogato nel modo seguente:

  • La vista di base contiene un subset di colonne e un superset di righe.

  • La vista derivata contiene un superset di colonne e un subset di righe.

Nota importanteImportante

Nelle versioni future di SQL Server è possibile che Microsoft estenda la definizione delle viste del catalogo di sistema aggiungendo colonne all'elenco delle colonne. Non è consigliabile utilizzare la sintassi SELECT * FROM sys.catalog_view_name nel codice di produzione. Il numero di colonne restituite potrebbe infatti cambiare compromettendo il corretto funzionamento dell'applicazione.

Le viste del catalogo di SQL Server sono organizzate nelle categorie seguenti: