Condividi tramite


Viste dello schema delle informazioni di sistema (Transact-SQL)

Applies to:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Una visualizzazione dello schema delle informazioni è uno dei diversi metodi forniti da SQL Server per ottenere i metadati. Le viste dello schema delle informazioni forniscono una vista interna indipendente dalla tabella di sistema dei metadati di SQL Server. Le viste dello schema delle informazioni consentono alle applicazioni di funzionare correttamente, anche se sono state apportate modifiche significative alle tabelle di sistema sottostanti. Le viste dello schema delle informazioni incluse in SQL Server sono conformi alla definizione standard ISO per .INFORMATION_SCHEMA

Important

Alcune modifiche sono state apportate alle viste dello schema delle informazioni che interrompono la compatibilità con le versioni precedenti. Queste modifiche sono descritte negli articoli per le visualizzazioni specifiche.

SQL Server supporta una convenzione di denominazione in tre parti quando si fa riferimento al server corrente. La stessa convenzione di denominazione viene adottata anche dallo standard ISO. I nomi utilizzati nelle due convenzioni di denominazione sono tuttavia diversi. Le viste dello schema delle informazioni sono definite in uno schema speciale denominato INFORMATION_SCHEMA. Questo schema è incluso in ogni database. Ogni vista dello schema delle informazioni include metadati per tutti gli oggetti dati archiviati nel database specifico. Nella tabella seguente vengono illustrate le relazioni tra i nomi di SQL Server e i nomi standard di SQL.

Nome SQL Server Nome SQL standard equivalente
Database Catalog
Schema Schema
Object Object
Tipo di dati definito dall'utente Domain

Questa convenzione di mapping dei nomi si applica alle viste compatibili con SQL Server ISO seguenti.

Alcune viste contengono inoltre riferimenti a classi di dati diverse, ad esempio dati di tipo carattere o dati binari.

Quando si fa riferimento alle viste dello schema delle informazioni, è necessario utilizzare un nome completo che includa il nome schema INFORMATION_SCHEMA. For example:

USE AdventureWorks2022;
GO

SELECT TABLE_CATALOG,
       TABLE_SCHEMA,
       TABLE_NAME,
       COLUMN_NAME,
       COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = N'Product';

Permissions

La visibilità dei metadati nelle visualizzazioni dello schema delle informazioni è limitata alle entità a protezione diretta di cui un utente è proprietario o su cui l'utente ha un'autorizzazione. Per altre informazioni, vedere Metadata Visibility Configuration.

Le viste dello schema delle informazioni sono definite a livello di server e pertanto non possono essere negate all'interno del contesto di un database utente. Per REVOKE o DENY accedere (SELECT), è necessario utilizzare il master database. Per impostazione predefinita, il ruolo pubblico dispone SELECTdell'autorizzazione per tutte le viste dello schema delle informazioni, ma il contenuto è limitato con le regole di visibilità dei metadati.

Non è possibile negare l'accesso alle viste dello schema delle informazioni nel database SQL di Azure.