sys.system_columns (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Contiene una fila para cada columna de objetos de sistema que tienen columnas.

Nombre de la columna Tipo de datos Descripción
object_id int Identificador del objeto al que pertenece esta columna.
name sysname Nombre de la columna. Es único en el objeto.
column_id int Identificador de la columna. Es único en el objeto.

Los Id. de columna no tienen que ser secuenciales.
system_type_id tinyint Id. del tipo de sistema de la columna
user_type_id int Id. del tipo de la columna, tal como lo ha definido el usuario.

Para devolver el nombre del tipo, combine con la vista de catálogo sys.types en esta columna.
max_length smallint Longitud máxima de la columna, en bytes.

-1 = El tipo de datos de las columnas es varchar(max), nvarchar(max), varbinary(max) o xml.

En el caso de las columnas de texto, el valor max_length será 16 o el valor establecido por la opción "text in row" de sp_tableoption.
precisión tinyint Precisión de la columna, si está basada en números; de lo contrario, es 0.
scale tinyint Escala de la columna, si está basada en números; en caso contrario, es 0.
collation_name sysname Nombre de la intercalación de la columna si se basa en caracteres; de lo contrario, NULL.
is_nullable bit 1 = La columna acepta valores NULL.
is_ansi_padded bit 1 = La columna utiliza el comportamiento ANSI_PADDING ON si es de tipo character, binary o variant.

0 = La columna no es de tipo character, binary o variant.
is_rowguidcol bit 1 = La columna se ha declarado como ROWGUIDCOL.
is_identity bit 1 = la columna tiene valores de identidad.
is_computed bit 1 = La columna es una columna calculada.
is_filestream bit 1 = La columna se ha declarado para utilizar el almacenamiento FILESTREAM.
is_replicated bit 1 = La columna está replicada.
is_non_sql_subscribed bit 1 = La columna tiene un suscriptor que no es de SQL Server.
is_merge_published bit 1 = La columna está publicada para mezcla.
is_dts_replicated bit 1 = La columna se replica usando SSIS.
is_xml_document bit 1 = El contenido es un documento XML completo.

0 = el contenido es un fragmento de documento, o el tipo de datos de la columna no es XML.
xml_collection_id int Es distinto de cero si el tipo de datos de la columna es XML y el XML tiene tipo. El valor será el Id. de la colección que contiene el espacio de nombres de esquema XML de validación de la columna.

0 = No es una colección de esquemas XML.
default_object_id int Id. del objeto predeterminado, ya sea un objeto independiente sys.sp_bindefault o una restricción DEFAULT insertada de nivel de columna. La columna parent_object_id de un objeto predeterminado insertado de nivel de columna es una referencia a la propia tabla. O bien, es 0 si no hay valor predeterminado.
rule_object_id int Id. de la regla independiente enlazada a la columna mediante sys.sp_bindrule.

0 = No hay ninguna regla independiente.

Para ver las restricciones CHECK de nivel de columna, consulte sys.check_constraints (Transact-SQL).
is_sparse bit 1 = La columna es una columna dispersa. Para obtener más información, vea Usar columnas dispersas.
is_column_set bit 1 = La columna es un conjunto de columnas. Para obtener más información, vea Usar conjuntos de columnas.
generated_always_type tinyint Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, SQL Database 7, 8, 9 y 10 se aplican únicamente a SQL Database.

Identifica cuándo se genera el valor de columna (siempre será 0 para las columnas de las tablas del 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 obtener más información, consulte Tablas temporales (bases de datos relacionales).
generated_always_type_desc nvarchar(60) Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, SQL Database

Descripción textual del generated_always_typevalor de (siempre NOT_APPLICABLE para columnas en tablas del sistema)

NOT_APPLICABLE
AS_ROW_START
AS_ROW_END

Se aplica a: a partir de SQL Server 2022 (16.x), SQL Database

AS_TRANSACTION_ID_START
AS_TRANSACTION_ID_END
AS_SEQUENCE_NUMBER_START
AS_SEQUENCE_NUMBER_END
ledger_view_column_type tinyint Se aplica a: a partir de SQL Server 2022 (16.x), SQL Database.

Si no es NULL, indica el tipo de una columna en una vista del libro de contabilidad:

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

Para obtener más información sobre el libro de contabilidad de base de datos, consulte Libro de contabilidad.
ledger_view_column_type_desc nvarchar(60) Se aplica a: a partir de SQL Server 2022 (16.x), SQL Database.

Si no es NULL, contiene una descripción textual del tipo de una columna en una vista del libro de contabilidad:

TRANSACTION_ID
SEQUENCE_NUMBER
OPERATION_TYPE
OPERATION_TYPE_DESC

Permisos

La visibilidad de los metadatos de las vistas de catálogo se limita a elementos protegibles que un usuario posee o en el que se concedió algún permiso al usuario. Para obtener más información, consulte Metadata Visibility Configuration.

Consulte también

Vistas de catálogo de objetos (Transact-SQL)
Vistas de catálogo (Transact-SQL)
Consultar las preguntas más frecuentes (P+F) del catálogo del sistema de SQL Server
sys.columns (Transact-SQL)
sys.all_columns (Transact-SQL)
sys.computed_columns (Transact-SQL)