sys.columns (Transact-SQL)

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, eseguire il join alla vista del catalogo sys.types per questa colonna.

max_length

smallint

Lunghezza massima (in byte) della colonna.

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

Per le colonne di tipo text, il valore max_length sarà 16 o il valore impostato dall'opzione 'text in row' in sp_tableoption.

precision

tinyint

Precisione della colonna se di tipo numerico, altrimenti 0.

scale

tinyint

Scala della colonna se di tipo numerico, altrimenti 0.

collation_name

sysname

Nome delle regole di confronto della colonna se si tratta di una colonna di tipo carattere, altrimenti NULL.

is_nullable

bit

1 = la colonna ammette valori Null.

is_ansi_padded

bit

1 = la colonna utilizza il funzionamento ANSI_PADDING ON se è di tipo character, binary o variant.

0 = la colonna non è di tipo character, binary o variant.

is_rowguidcol

bit

1 = la colonna è un ROWGUIDCOL dichiarato.

is_identity

bit

1 = la colonna ha valori Identity

is_computed

bit

1 = la colonna è calcolata.

is_filestream

bit

1 = la colonna è una colonna FILESTREAM.

is_replicated

bit

1 = la colonna è replicata.

is_non_sql_subscribed

bit

1 = la colonna ha un Sottoscrittore non SQL Server.

is_merge_published

bit

1 = la colonna è stata pubblicata con 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 la colonna non è di tipo xml.

xml_collection_id

int

Diverso da zero se la colonna è di tipo xml e XML è tipizzato. Il valore sarà l'ID della raccolta contenente lo spazio dei nomi dello schema XML di convalida della colonna.

0 = nessuna raccolta di schemi XML.

default_object_id

int

ID dell'oggetto predefinito, indipendentemente dal fatto che sia un oggetto autonomo sys.sp_bindefault o un vincolo DEFAULT inline a livello di colonna. La colonna parent_object_id di un oggetto predefinito a livello di colonna inline è 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 ulteriori informazioni, vedere Utilizzo di colonne di tipo sparse.

is_column_set

bit

1 = la colonna è un set di colonne. Per ulteriori informazioni, vedere Utilizzo di colonne di tipo sparse.

Autorizzazioni

In SQL Server 2005 e versioni successive la visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per cui dispone di autorizzazioni. Per ulteriori informazioni, vedere Configurazione della visibilità dei metadati.