sys.columns (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

Restituisce una riga per ogni colonna di un oggetto contenente colonne, ad esempio viste o tabelle. Nell'elenco seguente sono inclusi i tipi di oggetti contenenti colonne.

  • Funzioni assembly con valori di tabella (FT)

  • Funzioni SQL inline con valori di tabella (IF)

  • Tabelle interne (IT)

  • Tabelle di sistema (S)

  • Funzioni SQL con valori di tabella (TF)

  • Tabelle utente (U)

  • Viste (V)

Nome colonna Tipo di dati Descrizione
object_id int ID dell'oggetto a cui appartiene la colonna.
name sysname Nome della colonna. Valore univoco all'interno dell'oggetto.
column_id int ID della colonna. Valore univoco all'interno dell'oggetto.

È possibile che gli ID di colonna non siano sequenziali.
system_type_id tinyint ID del tipo di sistema della colonna.
user_type_id int ID del tipo di colonna definito dall'utente.

Per restituire il nome del tipo, creare un join alla vista del catalogo sys.types in questa colonna.
max_length smallint Lunghezza massima in byte della colonna.

-1 = Il tipo di dati della colonna è varchar(max), nvarchar(max), varbinary(max) o xml.

Per le colonne di max_length, il valore di max_length sarà 16 o il valore impostato sp_tableoption 'text in row'.
precisione tinyint Precisione della colonna se la colonna è di tipo numerico. In caso contrario, 0.
scala tinyint Scala della colonna se di tipo numerico, altrimenti 0.
collation_name sysname Nome delle regole di confronto della colonna se basate su caratteri; in caso NULL contrario, .
is_nullable bit 1 = La colonna ammette valori Null.
is_ansi_padded bit 1 = La colonna utilizza l'opzione ANSI_PADDING ON se è di tipo carattere, binary o variant.

0 = La colonna non è di tipo carattere, binary o variant.
is_rowguidcol bit 1 = La colonna è una parola chiave ROWGUIDCOL dichiarata.
is_identity bit 1 = La colonna ha valori Identity
is_computed bit 1 = La colonna è una colonna calcolata.
is_filestream bit 1 = la colonna è una colonna FILESTREAM.
is_replicated bit 1 = La colonna viene replicata.
is_non_sql_subscribed bit 1 = la colonna ha un Sottoscrittore non SQL Server.
is_merge_published bit 1 = La colonna è inclusa in una pubblicazione di tipo merge.
is_dts_replicated bit 1 = La colonna viene replicata tramite SSIS.
is_xml_document bit 1 = Il contenuto è un documento XML completo.

0 = Il contenuto è un frammento di documento o il tipo di dati della colonna non è xml.
xml_collection_id int Diverso da zero se il tipo di dati della colonna è xml e il codice XML è tipizzato. Il valore sarà l'ID della raccolta che include lo spazio dei nomi dell'XML Schema di convalida della colonna.

0 = Nessuna raccolta di XML Schema.
default_object_id int ID dell'oggetto predefinito, indipendentemente dal fatto che si tratta di un oggetto autonomo sys.sp_bindefault odi un vincolo DEFAULT inline a livello di colonna. La colonna parent_object_id di un oggetto predefinito inline a livello di colonna è un riferimento alla tabella stessa.

0 = nessun valore predefinito.
rule_object_id int ID della regola autonoma associata alla colonna tramite sys.sp_bindrule.

0 = Nessuna regola autonoma. Per i vincoli CHECK a livello di colonna, vedere sys.check_constraints (Transact-SQL).
is_sparse bit 1 = La colonna è di tipo sparse. Per altre informazioni, vedere Usare le colonne di tipo sparse.
is_column_set bit 1 = La colonna è un set di colonne. Per altre informazioni, vedere Usare le colonne di tipo sparse.
generated_always_type tinyint Si applica a: SQL Server 2016 (13.x) e versioni successive, Database SQL. 7, 8, 9, 10 si applica solo a Database SQL .

Identifica quando viene generato il valore della colonna (sarà sempre 0 per le colonne nelle tabelle di sistema):

0 = NOT_APPLICABLE
1 = AS_ROW_START
2 = AS_ROW_END
7 = AS_TRANSACTION_ID_START
8 = AS_TRANSACTION_ID_END
9 = AS_SEQUENCE_NUMBER_START
10 = AS_SEQUENCE_NUMBER_END

Per altre informazioni, vedere Tabelle temporali (database relazionali).
generated_always_type_desc nvarchar(60) Si applica a: SQL Server 2016 (13.x) e versioni successive, Database SQL.

Descrizione testuale generated_always_type del valore di (sempre NOT_APPLICABLE colonne nelle tabelle di sistema)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

Si applica a: Database SQL

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
encryption_type int Si applica a: SQL Server 2016 (13.x) e versioni successive, Database SQL.

Tipo di crittografia:

1 = Crittografia deterministica

2 = Crittografia casuale
encryption_type_desc nvarchar(64) Si applica a: SQL Server 2016 (13.x) e versioni successive, Database SQL.

Descrizione del tipo di crittografia:

Randomizzato

DETERMINISTIC
encryption_algorithm_name sysname Si applica a: SQL Server 2016 (13.x) e versioni successive, Database SQL.

Nome dell'algoritmo di crittografia.

È supportata AEAD_AES_256_CBC_HMAC_SHA_512 solo l'applicazione.
column_encryption_key_id int Si applica a: SQL Server 2016 (13.x) e versioni successive, Database SQL.

ID della cek.
column_encryption_key_database_name sysname Si applica a: SQL Server 2016 (13.x) e versioni successive, Database SQL.

Nome del database in cui è presente la chiave di crittografia della colonna se diverso dal database della colonna. NULL se la chiave esiste nello stesso database della colonna.
is_hidden bit Si applica a: SQL Server 2019 (15.x) e versioni successive, Database SQL.

Indica se la colonna è nascosta:

0 = colonna normale, non nascosta e visibile

1 = colonna nascosta
is_masked bit Si applica a: SQL Server 2019 (15.x) e versioni successive, Database SQL.

Indica se la colonna è mascherata da una maschera dati dinamica:

0 = colonna normale non mascherata

1 = la colonna è mascherata
graph_type int Colonna interna con un set di valori. I valori sono compresi tra 1 e 8 per le colonne del grafico e NULL per gli altri.
graph_type_desc nvarchar(60) colonna interna con un set di valori
ledger_view_column_type tinyint Si applica a: Database SQL.

Se non è NULL, indica il tipo di una colonna in una vista del libro mastro:

1 = TRANSACTION_ID
2 = SEQUENCE_NUMBER
3 = OPERATION_TYPE
4 = OPERATION_TYPE_DESC

Per altre informazioni sul libro mastro del database, vedere database SQL di Azure ledger.
ledger_view_column_type_desc nvarchar(60) Si applica a: Database SQL.

Se non è NULL, contiene una descrizione testuale del tipo di una colonna in una visualizzazione Del libro mastro:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

Autorizzazioni

La visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per le quali dispone di autorizzazioni. Per altre informazioni, vedere Metadata Visibility Configuration.

Vedere anche

Viste di sistema (Transact-SQL)
Viste del catalogo dell'oggetto (Transact-SQL)
Viste del catalogo (Transact-SQL)
Domande frequenti sull'esecuzione SQL Server catalogo di sistema
sys.all_columns (transact-sql)
sys.system_columns (Transact-SQL)