Viste del catalogo di sistema (Transact-SQL)

SI APPLICA A: SQL Server Database SQL di Azure Azure Synapse Analytics Parallel Data Warehouse

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.

Importante

Nelle versioni future di SQL Server è possibile che Microsoft estenda la definizione delle viste del catalogo di sistema aggiungendo colonne all'elenco delle colonne. È consigliabile non usare la sintassi SELECT * FROM sys.catalog_view_name nel codice di produzione perché il numero di colonne restituite potrebbe cambiare e interrompere l'applicazione.

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

Vedere anche