sys.system_columns (Transact-SQL)

Aplica-se a:yesSQL Server (todas as versões compatíveis) YesBanco de Dados SQL do Azure YesInstância Gerenciada de SQL do Azure yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

Contém uma linha para cada coluna de objetos do sistema que têm colunas.

Nome da coluna Tipo de dados Descrição
object_id int ID do objeto ao qual esta coluna pertence.
name sysname Nome da coluna. É exclusiva no objeto.
column_id int ID da coluna. É exclusiva no objeto.

Os IDs de coluna podem não ser sequenciais.
system_type_id tinyint ID do tipo de sistema da coluna
user_type_id int ID do tipo da coluna, como definido pelo usuário.

Para retornar o nome do tipo, faça a junção com a exibição do catálogo sys.types nessa coluna.
max_length smallint Tamanho máximo (em bytes) da coluna.

-1 = O tipo de dados de coluna é varchar(max), nvarchar(max), varbinary(max) ou xml.

Para colunas de texto, o valor de max_length será 16 ou o valor definido por 'text in row' de sp_tableoption.
precisão tinyint Precisão da coluna com base numérica, caso contrário é 0.
scale tinyint Escala da coluna com base numérica, caso contrário é 0.
collation_name sysname Nome da ordenação da coluna, se for baseado em caracteres; caso contrário, será NULL.
is_nullable bit 1 = A coluna permite valor nulo.
is_ansi_padded bit 1 = A coluna usa o comportamento ANSI_PADDING ON se for de caractere, binária, ou variante.

0 = A coluna não é de caractere, binária nem variante.
is_rowguidcol bit 1 = A coluna é uma ROWGUIDCOL declarada.
is_identity bit 1 = A coluna tem valores de identidade.
is_computed bit 1 = A coluna é computada.
is_filestream bit 1 = A coluna está declarada para usar armazenamento de fluxo de arquivos.
is_replicated bit 1 = A coluna é replicada.
is_non_sql_subscribed bit 1 = A coluna tem um assinante não SQL Server.
is_merge_published bit 1 = A coluna é publicada por mesclagem.
is_dts_replicated bit 1 = A coluna é replicada usando o SSIS.
is_xml_document bit 1 = O conteúdo é um documento XML completo.

0 = O conteúdo é um fragmento de documento ou o tipo de dados da coluna não é xml.
xml_collection_id int Diferente de zero se o tipo de dados da coluna for xml e o XML for digitado. O valor será o ID da coleção que contém o namespace do esquema XML de validação da coluna.

0 = Nenhuma coleção de esquemas XML.
default_object_id int ID do objeto padrão, seja ela um sys.sp_bindefault autônomo ou uma restrição DEFAULT embutida no nível da coluna. A coluna parent_object_id de um objeto padrão embutido no nível da coluna é uma referência à própria tabela. Ou 0, se não houver padrão.
rule_object_id int ID da regra autônoma associada à coluna usando sys.sp_bindrule.

0 = Nenhuma regra autônoma.

Para restrições CHECK no nível da coluna, confira sys.check_constraints (Transact-SQL).
is_sparse bit 1 = A coluna é esparsa. Para obter mais informações, veja Usar colunas esparsas.
is_column_set bit 1 = A coluna é um conjunto de colunas. Para obter mais informações, veja Usar conjuntos de colunas.
generated_always_type tinyint Aplica-se a: SQL Server 2016 (13.x) e posterior, Banco de Dados SQL. 7, 8, 9, 10 se aplicam apenas ao Banco de Dados SQL.

Identifica quando o valor da coluna é gerado (sempre será 0 para colunas em tabelas do 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

Para saber mais, confira Tabelas temporais (bancos de dados relacionais).
generated_always_type_desc nvarchar(60) Aplica-se a: SQL Server 2016 (13.x) e posterior, Banco de Dados SQL.

Descrição textual do valor de generated_always_type (sempre NOT_APPLICABLE para colunas em tabelas do sistema)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

Aplica-se a: começando com o SQL Server 2022, Banco de Dados SQL

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
ledger_view_column_type tinyint Aplica-se a: começando com o SQL Server 2022, Banco de Dados SQL.

Quando não é NULL, indica o tipo de uma coluna em uma exibição do razão:

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

Para obter mais informações sobre o razão do banco de dados, confira Razão.
ledger_view_column_type_desc nvarchar(60) Aplica-se a: começando com o SQL Server 2022, Banco de Dados SQL.

Quando não é NULL, contém uma descrição textual do tipo de uma coluna em uma exibição do razão:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

Permissões

A visibilidade dos metadados em exibições do catálogo está limitada aos protegíveis que pertencem a um usuário ou para os quais o usuário recebeu permissão. Para obter mais informações, consulte Metadata Visibility Configuration.

Consulte Também

Exibições do catálogo de objeto (Transact-SQL)
Exibições do Catálogo (Transact-SQL)
Consultando as perguntas frequentes do catálogo do sistema do SQL Server
sys.columns (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)