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

Se aplica a:Applies to: sí SQL ServerSQL Server (todas las versiones compatibles)yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance ?Azure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ?Almacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data WarehouseSe aplica a:Applies to: sí SQL ServerSQL Server (todas las versiones compatibles)yesSQL ServerSQL Server (all supported versions) SíAzure SQL DatabaseAzure SQL DatabaseYesAzure SQL DatabaseAzure SQL Database SíInstancia administrada de Azure SQLAzure SQL Managed InstanceYesInstancia administrada de Azure SQLAzure SQL Managed Instance ?Azure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics ?Almacenamiento de datos paralelosParallel Data WarehouseyesAlmacenamiento de datos paralelosParallel Data Warehouse

Devuelve una fila para cada columna de un objeto que incluye columnas, como vistas o tablas.Returns a row for each column of an object that has columns, such as views or tables. La siguiente lista incluye tipos de objetos que contienen columnas:The following is a list of object types that have columns:

  • Funciones de ensamblado con valores de tabla (FT)Table-valued assembly functions (FT)

  • Funciones SQL con valores de tabla insertados (IF)Inline table-valued SQL functions (IF)

  • Tablas internas (IT)Internal tables (IT)

  • Tablas del sistema (S)System tables (S)

  • Funciones SQL con valores de tabla (TF)Table-valued SQL functions (TF)

  • Tablas de usuario (U)User tables (U)

  • Vistas (V)Views (V)

Nombre de la columnaColumn name Tipo de datosData type DescripciónDescription
object_idobject_id intint Identificador del objeto al que pertenece esta columna.ID of the object to which this column belongs.
namename sysnamesysname Nombre de la columna.Name of the column. Es único en el objeto.Is unique within the object.
column_idcolumn_id intint Identificador de la columna.ID of the column. Es único en el objeto.Is unique within the object.

Los Id. de columna no tienen que ser secuenciales.Column IDs might not be sequential.
system_type_idsystem_type_id tinyinttinyint Id. del tipo de sistema de la columna.ID of the system type of the column.
user_type_iduser_type_id intint Id. del tipo de la columna, tal como lo ha definido el usuario.ID of the type of the column as defined by the user.

Para devolver el nombre del tipo, únase a la vista de catálogo Sys. Types en esta columna.To return the name of the type, join to the sys.types catalog view on this column.
max_lengthmax_length smallintsmallint Longitud máxima de la columna, en bytes.Maximum length (in bytes) of the column.

-1 = el tipo de datos de la columna es VARCHAR (Max), nvarchar (Max), varbinary (Max) o XML.-1 = Column data type is varchar(max), nvarchar(max), varbinary(max), or xml.

En el caso de las columnas de texto , el valor max_length será 16 o el valor establecido por sp_tableoption ' Text in row '.For text columns, the max_length value will be 16 or the value set by sp_tableoption 'text in row'.
precisionprecision tinyinttinyint Precisión de la columna, si está basada en números; de lo contrario, es 0.Precision of the column if numeric-based; otherwise, 0.
scalescale tinyinttinyint La escala de la columna se basa en valores numéricos; en caso contrario, es 0.Scale of column if numeric-based; otherwise, 0.
collation_namecollation_name sysnamesysname Nombre de la intercalación de la columna, si está basada en caracteres; de lo contrario, es NULL.Name of the collation of the column if character-based; otherwise, NULL.
is_nullableis_nullable bitbit 1 = La columna acepta valores NULL.1 = Column is nullable.
is_ansi_paddedis_ansi_padded bitbit 1 = La columna utiliza el comportamiento ANSI_PADDING ON si es de tipo character, binary o variant.1 = Column uses ANSI_PADDING ON behavior if character, binary, or variant.

0 = La columna no es de tipo character, binary o variant.0 = Column is not character, binary, or variant.
is_rowguidcolis_rowguidcol bitbit 1 = La columna se ha declarado como ROWGUIDCOL.1 = Column is a declared ROWGUIDCOL.
is_identityis_identity bitbit 1 = La columna tiene valores de identidad.1 = Column has identity values
is_computedis_computed bitbit 1 = La columna es una columna calculada.1 = Column is a computed column.
is_filestreamis_filestream bitbit 1 = La columna es una columna FILESTREAM.1 = Column is a FILESTREAM column.
is_replicatedis_replicated bitbit 1 = La columna está replicada.1 = Column is replicated.
is_non_sql_subscribedis_non_sql_subscribed bitbit 1 = La columna tiene un suscriptor que no es de SQL Server.1 = Column has a non-SQL Server subscriber.
is_merge_publishedis_merge_published bitbit 1 = La columna está publicada para mezcla.1 = Column is merge-published.
is_dts_replicatedis_dts_replicated bitbit 1 = La columna se replica con SSISSSIS.1 = Column is replicated by using SSISSSIS.
is_xml_documentis_xml_document bitbit 1 = El contenido es un documento XML completo.1 = Content is a complete XML document.

0 = el contenido es un fragmento de documento o el tipo de datos de la columna no es XML.0 = Content is a document fragment or the column data type is not xml.
xml_collection_idxml_collection_id intint Es distinto de cero si el tipo de datos de la columna es XML y se escribe el XML.Nonzero if the data type of the column is xml and the XML is typed. El valor será el ID. de la colección que contiene el espacio de nombres del esquema XML de validación de la columna.The value will be the ID of the collection containing the validating XML schema namespace of the column.

0 = No es una colección de esquemas XML.0 = No XML schema collection.
default_object_iddefault_object_id intint IDENTIFICADOR del objeto predeterminado, independientemente de si se trata de un objeto independiente Sys. sp_bindefault, o una restricción de nivel de columna insertada y predeterminada.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 columna parent_object_id de un objeto predeterminado de nivel de columna insertada es una referencia a la propia tabla.The parent_object_id column of an inline column-level default object is a reference back to the table itself.

0 = No hay un valor predeterminado.0 = No default.
rule_object_idrule_object_id intint Id. de la regla independiente enlazada a la columna mediante sys.sp_bindrule.ID of the stand-alone rule bound to the column by using sys.sp_bindrule.

0 = No hay ninguna regla independiente.0 = No stand-alone rule. Para las restricciones CHECK de nivel de columna, vea Sys. check_constraints ()de Transact-SQL .For column-level CHECK constraints, see sys.check_constraints (Transact-SQL).
is_sparseis_sparse bitbit 1 = La columna es una columna dispersa.1 = Column is a sparse column. Para obtener más información, vea Usar columnas dispersas.For more information, see Use Sparse Columns.
is_column_setis_column_set bitbit 1 = La columna es un conjunto de columnas.1 = Column is a column set. Para obtener más información, vea Usar columnas dispersas.For more information, see Use Sparse Columns.
generated_always_typegenerated_always_type tinyinttinyint Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) y versiones posteriores, SQL DatabaseSQL DatabaseApplies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later, SQL DatabaseSQL Database.

Identifica Cuándo se genera el valor de la columna (siempre será 0 para las columnas de las tablas del 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

Para obtener más información, vea tablas temporales (bases de datos relacionales).For more information, see Temporal Tables (Relational databases).
generated_always_type_descgenerated_always_type_desc nvarchar(60)nvarchar(60) Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) y versiones posteriores, SQL DatabaseSQL DatabaseApplies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later, SQL DatabaseSQL Database.

Descripción textual del generated_always_type valor de (siempre NOT_APPLICABLE para las columnas de las tablas del 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 Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) y versiones posteriores, SQL DatabaseSQL DatabaseApplies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later, SQL DatabaseSQL Database.

Tipo de cifrado:Encryption type:

1 = cifrado determinista1 = Deterministic encryption

2 = cifrado aleatorio2 = Randomized encryption
encryption_type_descencryption_type_desc nvarchar (64)nvarchar(64) Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) y versiones posteriores, SQL DatabaseSQL DatabaseApplies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later, SQL DatabaseSQL Database.

Descripción del tipo de cifrado:Encryption type description:

ALEATORIORANDOMIZED

DETERMINISTICDETERMINISTIC
encryption_algorithm_nameencryption_algorithm_name sysnamesysname Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) y versiones posteriores, SQL DatabaseSQL DatabaseApplies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later, SQL DatabaseSQL Database.

Nombre del algoritmo de cifrado.Name of encryption algorithm.

Solo se admite 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 Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) y versiones posteriores, SQL DatabaseSQL DatabaseApplies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later, SQL DatabaseSQL Database.

IDENTIFICADOR de CEK.ID of the CEK.
column_encryption_key_database_namecolumn_encryption_key_database_name sysnamesysname Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) y versiones posteriores, SQL DatabaseSQL DatabaseApplies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later, SQL DatabaseSQL Database.

Nombre de la base de datos en la que existe la clave de cifrado de columna si es diferente de la base de datos de la columna.The name of the database where the column encryption key exists if different than the database of the column. ES NULL si la clave existe en la misma base de datos que la columna.NULL if the key exists in the same database as the column.
is_hiddenis_hidden bitbit Se aplica a: SQL Server 2019 (15.x)SQL Server 2019 (15.x) y versiones posteriores, SQL DatabaseSQL DatabaseApplies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later, SQL DatabaseSQL Database.

Indica si la columna está oculta:Indicates if the column is hidden:

0 = columna visible normal, no oculta0 = regular, not-hidden, visible column

1 = columna oculta1 = hidden column
is_maskedis_masked bitbit Se aplica a: SQL Server 2019 (15.x)SQL Server 2019 (15.x) y versiones posteriores, SQL DatabaseSQL DatabaseApplies to: SQL Server 2019 (15.x)SQL Server 2019 (15.x) and later, SQL DatabaseSQL Database.

Indica si la columna está enmascarada por un enmascaramiento dinámico de datos:Indicates if the column is masked by a dynamic data masking:

0 = columna normal, no enmascarada0 = regular, not-masked column

1 = la columna está enmascarada1 = column is masked

PermisosPermissions

La visibilidad de los metadatos en las vistas de catálogo se limita a los elementos protegibles y que son propiedad de un usuario o sobre los que el usuario tiene algún permiso.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. Para obtener más información, consulte Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

Consulte tambiénSee Also

Vistas del sistema (Transact-SQL) System Views (Transact-SQL)
Vistas de catálogo de objetos (Transact-SQL) Object Catalog Views (Transact-SQL)
Vistas de catálogo (Transact-SQL) Catalog Views (Transact-SQL)
Preguntas más frecuentes sobre el catálogo del sistema de SQL Server 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)