sys.columns (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Devuelve una fila para cada columna de un objeto que incluye columnas, como vistas o tablas. La siguiente lista incluye tipos de objetos que contienen columnas:
Funciones de ensamblado con valores de tabla (FT)
Funciones SQL con valores de tabla insertados (IF)
Tablas internas (IT)
Tablas del sistema (S)
Funciones SQL con valores de tabla (TF)
Tablas de usuario (U)
Vistas (V)
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 text, ntext e image, el valor de max_length será 16 (que representa solo el puntero de 16 bytes) 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 | La escala de la columna se basa en valores numéricos; en caso contrario, es 0. |
collation_name | sysname | Nombre de la intercalación de la columna, si está basada en caracteres; de lo contrario, es 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 es una columna 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 | El valor no es cero si el tipo de datos de la columna es xml y se escribe XML. 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 con independencia de si se trata de un objeto independiente sys.sp_bindefault o una restricción insertada DEFAULT de nivel de columna. La columna parent_object_id de un objeto predeterminado de nivel de columna insertada es una referencia a la propia tabla. 0 = No hay un 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 columnas dispersas. |
generated_always_type | tinyint | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, SQL Database 5, 6, 7, 8 se aplica ú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 5 = AS_TRANSACTION_ID_START 6 = AS_TRANSACTION_ID_END 7 = AS_SEQUENCE_NUMBER_START 8 = 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 valor de generated_always_type (siempre NOT_APPLICABLE para las columnas de las 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 |
encryption_type | int | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, SQL Database Tipo de cifrado: 1 = Cifrado determinista 2 = Cifrado aleatorio |
encryption_type_desc | nvarchar (64) | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, SQL Database Descripción del tipo de cifrado: RANDOMIZED DETERMINISTIC |
encryption_algorithm_name | sysname | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, SQL Database Nombre del algoritmo de cifrado. Solo se admite AEAD_AES_256_CBC_HMAC_SHA_512. |
column_encryption_key_id | int | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, SQL Database Identificador de la CEK. |
column_encryption_key_database_name | sysname | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, SQL Database Nombre de la base de datos en la que existe la clave de cifrado de columna si es diferente al de la base de datos de la columna. NULL si la clave existe en la misma base de datos que la columna. |
is_hidden | bit | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, SQL Database Indica si la columna está oculta: 0 = columna visible no oculta normal 1 = columna oculta |
is_masked | bit | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, SQL Database Indica si la columna se enmascara mediante un enmascaramiento dinámico de datos: 0 = columna no enmascarada normal 1 = la columna está enmascarada |
graph_type | int | Columna interna con un conjunto de valores. Los valores están comprendidos entre 1 y 8 para las columnas de gráfico y son NULL para otras. |
graph_type_desc | nvarchar(60) | columna interna con un conjunto de valores |
is_data_deletion_filter_column | bit | Se aplica a: Azure SQL Edge. Indica si la columna es la columna de filtros de retención de datos de la tabla. |
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 |
is_dropped_ledger_table_column | bit | Se aplica a: a partir de SQL Server 2022 (16.x), SQL Database. Indica una columna de tabla de libro de contabilidad que se ha quitado. |
Permisos
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. Para obtener más información, consulte Metadata Visibility Configuration.
Consulte también
Vistas del sistema (Transact-SQL)
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.all_columns (Transact-SQL)
sys.system_columns (Transact-SQL)