Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
Azure SQL Database
Instancia administrada de Azure SQL
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de SQL Analytics en Microsoft Fabric
Almacén en Microsoft Fabric
Base de datos SQL en Microsoft Fabric
Devuelve una fila para cada columna de un objeto que incluye columnas, como vistas o tablas. La lista siguiente contiene los tipos de objeto que tienen 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 columna es varchar(max), nvarchar(max), varbinary(max)o xml.Para las columnas text, ntext e image , el max_length valor es 16 (que representa solo el puntero de 16 bytes) o el valor establecido por sp_tableoption 'text in row'. |
precision |
tinyint | Precisión de la columna si se basa en valores numéricos; de lo contrario, 0. |
scale |
tinyint | Escala de columna si se basa en valores numéricos; de lo contrario, 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 = Column admite valores NULL0 = Column no admite valores NULL |
is_ansi_padded |
bit |
1 = Columna usa ANSI_PADDING ON el comportamiento si el carácter, el binario o la variante0 = La columna no es carácter, binario o variante |
is_rowguidcol |
bit |
1 = Column es una declarada ROWGUIDCOL |
is_identity |
bit |
1 = La columna tiene valores de identidad |
is_computed |
bit |
1 = Column es una columna calculada |
is_filestream |
bit |
1 = Column es una columna FILESTREAM |
is_replicated |
bit |
1 = La columna se replica |
is_non_sql_subscribed |
bit |
1 = La columna tiene un suscriptor que no es de SQL Server |
is_merge_published |
bit |
1 = La columna se publica por fusión |
is_dts_replicated |
bit |
1 = La columna se replica mediante SSIS |
is_xml_document |
bit |
1 = El contenido es un documento XML completo0 = El contenido es un fragmento de documento o el tipo de datos de 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 es el identificador de la colección que contiene el espacio de nombres de esquema XML de validación de la columna.0 = No hay colección de esquemas XML |
default_object_id |
Int | Identificador del objeto predeterminado, independientemente de si es un objeto independiente sp_bindefault o una restricción de nivel DEFAULT de columna insertada. La parent_object_id columna de un objeto predeterminado a nivel de columna en línea es una referencia de vuelta a la propia tabla.0 = Sin valor predeterminado |
rule_object_id |
Int | ID de la regla independiente vinculada a la columna usando sys.sp_bindrule.0 = No hay ninguna regla independiente. Para obtener restricciones de nivel CHECK de columna, consulte sys.check_constraints. |
is_sparse |
bit |
1 = Column es una columna dispersa. Para obtener más información, consulte Uso de columnas dispersas. |
is_column_set |
bit |
1 = Column es un conjunto de columnas. Para obtener más información, consulte Uso de columnas dispersas. |
generated_always_type |
tinyint | Identifica cuándo se genera el valor de columna (siempre 0 es para las columnas de las tablas del sistema).Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y SQL Database. 0 = NOT_APPLICABLE1 = AS_ROW_START2 = AS_ROW_ENDSe aplica a: SQL Server 2022 (16.x) y versiones posteriores, y SQL Database. 5 = AS_TRANSACTION_ID_START6 = AS_TRANSACTION_ID_END7 = AS_SEQUENCE_NUMBER_START8 = AS_SEQUENCE_NUMBER_ENDPara más información, consulte Tablas temporales. |
generated_always_type_desc |
nvarchar(60) | Descripción textual del generated_always_type valor (siempre NOT_APPLICABLE para columnas en tablas del sistema)Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y SQL Database. NOT_APPLICABLEAS_ROW_STARTAS_ROW_ENDSe aplica a: SQL Server 2022 (16.x) y versiones posteriores, y SQL Database. AS_TRANSACTION_ID_STARTAS_TRANSACTION_ID_ENDAS_SEQUENCE_NUMBER_STARTAS_SEQUENCE_NUMBER_END |
encryption_type |
Int | Tipo de cifrado:1 = Cifrado determinista2 = Cifrado aleatorioSe aplica a: SQL Server 2016 (13.x) y versiones posteriores, y SQL Database |
encryption_type_desc |
nvarchar (64) | Descripción del tipo de cifrado:RANDOMIZEDDETERMINISTICSe aplica a: SQL Server 2016 (13.x) y versiones posteriores, y SQL Database |
encryption_algorithm_name |
sysname | Nombre del algoritmo de cifrado. Solo se admite AEAD_AES_256_CBC_HMAC_SHA_512.Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y SQL Database |
column_encryption_key_id |
Int | Identificador de la clave de cifrado de columnas (CEK). Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y SQL Database |
column_encryption_key_database_name |
sysname | 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.Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y SQL Database |
is_hidden |
bit | Indica si la columna está oculta:0 = columna normal, no oculta y visible1 = columna ocultaSe aplica a: SQL Server 2016 (13.x) y versiones posteriores, y SQL Database |
is_masked |
bit | Indica si la columna está enmascarada mediante el enmascaramiento dinámico de datos:0 = columna normal, no enmascarada1 = la columna está enmascaradaSe aplica a: SQL Server 2016 (13.x) y versiones posteriores, y SQL Database |
graph_type |
Int | Columna interna con un conjunto de valores. Los valores están entre 1 y 8 para las columnas de grafo y NULL para otros. |
graph_type_desc |
nvarchar(60) | Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada. |
is_data_deletion_filter_column |
bit | Indica si la columna es la columna de filtros de retención de datos de la tabla. Se aplica a: Azure SQL Edge |
ledger_view_column_type |
Int | Si no es NULL, indica el tipo de una columna en una vista de libro de contabilidad:1 = TRANSACTION_ID2 = SEQUENCE_NUMBER3 = OPERATION_TYPE4 = OPERATION_TYPE_DESCPara obtener más información, consulte Información general del libro de contabilidad. Se aplica a: SQL Server 2022 (16.x) y versiones posteriores, y SQL Database |
ledger_view_column_type_desc |
nvarchar(60) | Si no es NULL, contiene una descripción textual del tipo de una columna en una vista de libro de contabilidad:TRANSACTION_IDSEQUENCE_NUMBEROPERATION_TYPEOPERATION_TYPE_DESCSe aplica a: SQL Server 2022 (16.x) y versiones posteriores, y SQL Database |
is_dropped_ledger_column |
bit | Indica una columna de tabla de libro de contabilidad que se quitó. Se aplica a: SQL Server 2022 (16.x) y versiones posteriores, y SQL Database |
vector_dimensions |
Int | Indica cuántas dimensiones tiene el vector. Aplica a: SQL Server 2025 (17.x) y versiones posteriores, y SQL Database |
vector_base_type |
tinyint | Indica el tipo de datos usado para almacenar valores de dimensiones vectoriales.0 = flotador de 32 bits (precisión simple)1 = flotador de 16 bits (media precisión ) 1Aplica a: SQL Server 2025 (17.x) y versiones posteriores, y SQL Database |
vector_base_type_desc |
nvarchar(10) | Contiene la descripción textual del tipo de datos utilizado para almacenar valores de dimensiones vectoriales. Aplica a: SQL Server 2025 (17.x) y versiones posteriores, y SQL Database |
1 Para más información, véase Formato de punto flotante de media precisión.
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 ha recibido algún permiso. Para obtener más información, consulte Configuración de visibilidad de metadatos.
Ejemplos de uso
Obtención de detalles de columna para una tabla
Para obtener metadatos de columnas en una tabla, utiliza el siguiente código:
CREATE TABLE dbo.[sample]
(
id INT NOT NULL,
col1 VARBINARY (10) NULL
);
SELECT c.[name] AS column_name,
t.[name] AS [type_name],
c.[max_length],
c.[precision],
c.[scale]
FROM sys.columns AS c
INNER JOIN sys.types AS t
ON c.user_type_id = t.user_type_id
WHERE object_id = object_id('dbo.sample');