sys.columns (Transact-SQL)sys.columns (Transact-SQL)

QUESTO ARGOMENTO SI APPLICA A: SìSQL Server (a partire da 2008)SìDatabase SQL di AzureSìAzure SQL Data Warehouse Sì Parallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Restituisce una riga per ogni colonna di un oggetto contenente colonne, ad esempio viste o tabelle.Returns a row for each column of an object that has columns, such as views or tables. Nell'elenco seguente sono inclusi i tipi di oggetti contenenti colonne.The following is a list of object types that have columns:

  • Funzioni assembly con valori di tabella (FT)Table-valued assembly functions (FT)

  • Funzioni SQL inline con valori di tabella (IF)Inline table-valued SQL functions (IF)

  • Tabelle interne (IT)Internal tables (IT)

  • Tabelle di sistema (S)System tables (S)

  • Funzioni SQL con valori di tabella (TF)Table-valued SQL functions (TF)

  • Tabelle utente (U)User tables (U)

  • Viste (V)Views (V)

Nome colonnaColumn name Tipo di datiData type DescriptionDescription
object_idobject_id intint ID dell'oggetto a cui appartiene la colonna.ID of the object to which this column belongs.
namename sysnamesysname Nome della colonna.Name of the column. Valore univoco all'interno dell'oggetto.Is unique within the object.
column_idcolumn_id intint ID della colonna.ID of the column. Valore univoco all'interno dell'oggetto.Is unique within the object.

È possibile che gli ID di colonna non siano sequenziali.Column IDs might not be sequential.
system_type_idsystem_type_id tinyinttinyint ID del tipo di sistema della colonna.ID of the system type of the column.
user_type_iduser_type_id intint ID del tipo di colonna definito dall'utente.ID of the type of the column as defined by the user.

Per restituire il nome del tipo, creare un join al Sys. Types vista per la colonna del catalogo.To return the name of the type, join to the sys.types catalog view on this column.
max_lengthmax_length smallintsmallint Lunghezza massima in byte della colonna.Maximum length (in bytes) of the column.

-1 = la colonna è di tipo di dati varchar (max), nvarchar (max), varbinary (max), o xml.-1 = Column data type is varchar(max), nvarchar(max), varbinary(max), or xml.

Per testo colonne, il valore max_length sarà 16 o il valore impostato dall'opzione 'text in row' di sp_tableoption.For text columns, the max_length value will be 16 or the value set by sp_tableoption 'text in row'.
precisioneprecision tinyinttinyint Precisione della colonna se la colonna è di tipo numerico. In caso contrario, 0.Precision of the column if numeric-based; otherwise, 0.
scalascale tinyinttinyint Scala della colonna se di tipo numerico, altrimenti 0.Scale of column if numeric-based; otherwise, 0.
collation_namecollation_name sysnamesysname Nome delle regole di confronto della colonna se la colonna è di tipo carattere. In caso contrario, NULL.Name of the collation of the column if character-based; otherwise, NULL.
is_nullableis_nullable bitbit 1 = La colonna ammette valori Null.1 = Column is nullable.
is_ansi_paddedis_ansi_padded bitbit 1 = La colonna utilizza l'opzione ANSI_PADDING ON se è di tipo carattere, binary o variant.1 = Column uses ANSI_PADDING ON behavior if character, binary, or variant.

0 = La colonna non è di tipo carattere, binary o variant.0 = Column is not character, binary, or variant.
is_rowguidcolis_rowguidcol bitbit 1 = La colonna è una parola chiave ROWGUIDCOL dichiarata.1 = Column is a declared ROWGUIDCOL.
is_identityis_identity bitbit 1 = La colonna ha valori Identity1 = Column has identity values
is_computedis_computed bitbit 1 = La colonna è una colonna calcolata.1 = Column is a computed column.
is_filestreamis_filestream bitbit 1 = la colonna è una colonna FILESTREAM.1 = Column is a FILESTREAM column.
is_replicatedis_replicated bitbit 1 = La colonna viene replicata.1 = Column is replicated.
is_non_sql_subscribedis_non_sql_subscribed bitbit 1 = la colonna ha un Sottoscrittore non SQL Server.1 = Column has a non-SQL Server subscriber.
is_merge_publishedis_merge_published bitbit 1 = La colonna è inclusa in una pubblicazione di tipo merge.1 = Column is merge-published.
is_dts_replicatedis_dts_replicated bitbit 1 = La colonna viene replicata tramite SSISSSIS.1 = Column is replicated by using SSISSSIS.
is_xml_documentis_xml_document bitbit 1 = Il contenuto è un documento XML completo.1 = Content is a complete XML document.

0 = il contenuto è un frammento di documento o il tipo di dati della colonna non è xml.0 = Content is a document fragment or the column data type is not xml.
xml_collection_idxml_collection_id intint Diverso da zero se il tipo di dati della colonna xml e XML è tipizzato.Nonzero if the data type of the column is xml and the XML is typed. Il valore sarà l'ID della raccolta che include lo spazio dei nomi dell'XML Schema di convalida della colonna.The value will be the ID of the collection containing the validating XML schema namespace of the column.

0 = Nessuna raccolta di XML Schema.0 = No XML schema collection.
default_object_iddefault_object_id intint ID dell'oggetto predefinito, indipendentemente dal fatto che sia un oggetto autonomo sp_bindefault, o un vincolo predefinito a livello di colonna inline.ID of the default object, regardless of whether it is a stand-alone object sys.sp_bindefault, or an inline, column-level DEFAULT constraint. La colonna parent_object_id di un oggetto predefinito inline a livello di colonna è un riferimento alla tabella stessa.The parent_object_id column of an inline column-level default object is a reference back to the table itself.

0 = nessun valore predefinito.0 = No default.
rule_object_idrule_object_id intint ID della regola autonoma associata alla colonna tramite sys.sp_bindrule.ID of the stand-alone rule bound to the column by using sys.sp_bindrule.

0 = Nessuna regola autonoma.0 = No stand-alone rule. Per i vincoli CHECK a livello di colonna, vedere Sys. check_constraints (Transact-SQL).For column-level CHECK constraints, see sys.check_constraints (Transact-SQL).
is_sparseis_sparse bitbit 1 = La colonna è di tipo sparse.1 = Column is a sparse column. Per altre informazioni, vedere Usare le colonne di tipo sparse.For more information, see Use Sparse Columns.
is_column_setis_column_set bitbit 1 = La colonna è un set di colonne.1 = Column is a column set. Per altre informazioni, vedere Usare le colonne di tipo sparse.For more information, see Use Sparse Columns.
generated_always_typegenerated_always_type tinyinttinyint Si applica a: da SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017, Database SQLSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Database SQLSQL Database.

Identifica quando viene generato il valore della colonna (sarà sempre pari a 0 per le colonne nelle tabelle di sistema):Identifies when the column value is generated (will always be 0 for columns in system tables):

0 = NOT_APPLICABLE0 = NOT_APPLICABLE

1 = AS_ROW_START1 = AS_ROW_START

2 = AS_ROW_END2 = AS_ROW_END

Per altre informazioni, vedere tabelle temporali (database relazionali).For more information, see Temporal Tables (Relational databases).
generated_always_type_descgenerated_always_type_desc nvarchar(60)nvarchar(60) Si applica a: da SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017, Database SQLSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Database SQLSQL Database.

Descrizione testuale generated_always_typedel valore (sempre NOT_APPLICABLE per le colonne nelle tabelle di sistema)Textual description of generated_always_type’s value (always NOT_APPLICABLE for columns in system tables)

NOT_APPLICABLENOT_APPLICABLE

AS_ROW_STARTAS_ROW_START

AS_ROW_ENDAS_ROW_END
encryption_typeencryption_type intint Si applica a: da SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017, Database SQLSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Database SQLSQL Database.

Tipo di crittografia:Encryption type:

1 = la crittografia deterministica1 = Deterministic encryption

2 = crittografia casuale2 = Randomized encryption
encryption_type_descencryption_type_desc nvarchar(64)nvarchar(64) Si applica a: da SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017, Database SQLSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Database SQLSQL Database.

Descrizione del tipo di crittografia:Encryption type description:

CASUALERANDOMIZED

DETERMINISTICDETERMINISTIC
encryption_algorithm_nameencryption_algorithm_name sysnamesysname Si applica a: da SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017, Database SQLSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Database SQLSQL Database.

Nome dell'algoritmo di crittografia.Name of encryption algorithm.

È supportato solo AEAD_AES_256_CBC_HMAC_SHA_512.Only AEAD_AES_256_CBC_HMAC_SHA_512 is supported.
column_encryption_key_idcolumn_encryption_key_id intint Si applica a: da SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017, Database SQLSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Database SQLSQL Database.

ID della CEK.ID of the CEK.
column_encryption_key_database_namecolumn_encryption_key_database_name sysnamesysname Si applica a: da SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017, Database SQLSQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Database SQLSQL Database.

Il nome del database in cui è presente la chiave di crittografia della colonna se diverso da quello della colonna.The name of the database where the column encryption key exists if different than the database of the column. NULL se la chiave è presente nello stesso database della colonna.NULL if the key exists in the same database as the column.
is_hiddenis_hidden bitbit Si applica a: da SQL Server 2017SQL Server 2017 a SQL Server 2017SQL Server 2017, Database SQLSQL Database.Applies to: SQL Server 2017SQL Server 2017 through SQL Server 2017SQL Server 2017, Database SQLSQL Database.

Indica se la colonna è nascosta:Indicates if the column is hidden:

0 = la colonna regolare, non-nascosto, visibile0 = regular, not-hidden, visible column

1 = colonna nascosta1 = hidden column
is_maskedis_masked bitbit Si applica a: da SQL Server 2017SQL Server 2017 a SQL Server 2017SQL Server 2017, Database SQLSQL Database.Applies to: SQL Server 2017SQL Server 2017 through SQL Server 2017SQL Server 2017, Database SQLSQL Database.

Indica se la colonna è nascosta da una maschera dati dinamica:Indicates if the column is masked by a dynamic data masking:

0 = la colonna regolare, non filtrato0 = regular, not-masked column

1 = colonna è nascosta1 = column is masked

AutorizzazioniPermissions

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.The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. Per altre informazioni, vedere Metadata Visibility Configuration. For more information, see Metadata Visibility Configuration.

Vedere ancheSee Also

Viste di sistema (Transact-SQL) System Views (Transact-SQL)
Viste del catalogo dell'oggetto (Transact-SQL) Object Catalog Views (Transact-SQL)
Viste del catalogo (Transact-SQL) Catalog Views (Transact-SQL)
L'esecuzione di query il catalogo di sistema SQL Server domande frequenti Querying the SQL Server System Catalog FAQ
sys.all_columns (Transact-SQL) sys.all_columns (Transact-SQL)
Sys.system_columns (Transact-SQL)sys.system_columns (Transact-SQL)