sys.tables (Transact-SQL)
Se aplica a:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión SQL en Microsoft Fabric
Almacenamiento en Microsoft Fabric
Devuelve una fila para cada tabla de usuario de SQL Server.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
<columnas heredadas> | Para obtener una lista de las columnas que hereda esta vista, consulte sys.objects (Transact-SQL). | |
lob_data_space_id | int | Un valor diferente de cero es el identificador del espacio de datos (grupo de archivos o esquema de partición) que contiene los datos de objeto binario grande (LOB) para esta tabla. Entre los ejemplos de tipos de datos LOB se encuentran varbinary(max), varchar(max), geografía o xml. 0 = La tabla no tiene datos LOB. |
filestream_data_space_id | int | Es el identificador del espacio de datos para un grupo de archivos FILESTREAM o un esquema de partición compuesto por grupos de archivos FILESTREAM. Para notificar el nombre de un grupo de archivos FILESTREAM, ejecute la consulta SELECT FILEGROUP_NAME (filestream_data_space_id) FROM sys.tables .sys.tables se puede combinar con las vistas siguientes en filestream_data_space_id = data_space_id. - sys.filegroups - sys.partition_schemes - sys.indexes - sys.allocation_units - sys.fulltext_catalogs - sys.data_spaces - sys.destination_data_spaces - sys.master_files - sys.database_files - backupfilegroup (combinar en filegroup_id) |
max_column_id_used | int | Identificador de columna máximo que se ha utilizado en esta tabla. |
lock_on_bulk_load | bit | La tabla está bloqueada en una carga masiva. Para obtener más información, vea sp_tableoption (Transact-SQL). |
uses_ansi_nulls | bit | La tabla se creó con la opción de base de datos SET ANSI_NULLS establecida en ON. |
is_replicated | bit | 1 = La tabla se publicó con la replicación de instantáneas o transaccional. |
has_replication_filter | bit | 1 = La tabla tiene un filtro de replicación. |
is_merge_published | bit | 1 = La tabla se publicó con la replicación de mezcla. |
is_sync_tran_subscribed | bit | 1 = La tabla se suscribió con una suscripción de actualización inmediata. |
has_unchecked_assembly_data | bit | 1 = La tabla contiene datos persistentes que dependen de un ensamblado cuya definición cambió durante el último ALTER ASSEMBLY. Se restablecerá en 0 tras la siguiente operación DBCC CHECKDB o DBCC CHECKTABLE correcta. |
text_in_row_limit | int | Número máximo de bytes permitido para text in row. 0 = La opción text in row no está establecida. Para obtener más información, vea sp_tableoption (Transact-SQL). |
large_value_types_out_of_row | bit | 1 = Los tipos de valores grandes se guardan fuera de la fila. Para obtener más información, vea sp_tableoption (Transact-SQL). |
is_tracked_by_cdc | bit | 1 = La tabla está habilitada para la captura de datos modificados. Para obtener más información, consulte sys.sp_cdc_enable_table (Transact-SQL). |
lock_escalation | tinyint | Valor de la opción LOCK_ESCALATION para la tabla: 0 = TABLE 1 = DISABLE 2 = AUTO |
lock_escalation_desc | nvarchar(60) | Descripción de texto de la opción lock_escalation para la tabla. Los valores posibles son: TABLE, AUTO y DISABLE. |
is_filetable | bit | Se aplica a: SQL Server 2012 (11.x) y versiones posteriores, y Azure SQL Database. 1 = La tabla es un objeto FileTable. Para obtener más información sobre FileTables, consulte FileTables (SQL Server). |
durabilidad | tinyint | Se aplica a: SQL Server 2014 (12.x) y versiones posteriores, y Azure SQL Database Estos son los valores posibles: 0 = SCHEMA_AND_DATA 1 = SCHEMA_ONLY El valor 0 es el predeterminado. |
durability_desc | nvarchar(60) | Se aplica a: SQL Server 2014 (12.x) y versiones posteriores, y Azure SQL Database Los posibles valores son los siguientes: SCHEMA_ONLY SCHEMA_AND_DATA El valor de SCHEMA_AND_DATA indica que la tabla es una tabla en memoria perdurable. SCHEMA_AND_DATA es el valor predeterminado para las tablas optimizadas para memoria. El valor de SCHEMA_ONLY indica que los datos de la tabla no son persistentes tras reiniciar la base de datos con objetos optimizados para memoria. |
is_memory_optimized | bit | Se aplica a: SQL Server 2014 (12.x) y versiones posteriores, y Azure SQL Database Los posibles valores son los siguientes: 0 = no optimizado en memory. 1 = está optimizado para memoria. El valor 0 es el predeterminado. Las tablas optimizadas para memoria se encuentran en las tablas de usuario de memoria, el esquema que se conserva en el disco similar a otras tablas de usuario. Se puede tener acceso a las tablas optimizadas para memoria desde procedimientos almacenados compilados de forma nativa. |
temporal_type | tinyint | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y Azure SQL Database Valor numérico que representa el tipo de tabla: 0 = NON_TEMPORAL_TABLE 1 = HISTORY_TABLE (se asocia a una tabla temporal) 2 = SYSTEM_VERSIONED_TEMPORAL_TABLE |
temporal_type_desc | nvarchar(60) | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y Azure SQL Database Descripción de texto del tipo de tabla: NON_TEMPORAL_TABLE HISTORY_TABLE SYSTEM_VERSIONED_TEMPORAL_TABLE |
history_table_id | int | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y Azure SQL Database Cuando temporal_type = 2 o ledger_type = 2 devuelve object_id de la tabla que mantiene datos históricos para una tabla temporal; de lo contrario, devuelve NULL. |
is_remote_data_archive_enabled | bit | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y Azure SQL Database Indica si se ha habilitado la tabla para Stretch. 0 = La tabla no está habilitada para Stretch. 1 = La tabla está habilitada para Stretch. Para obtener más información, vea Stretch Database. |
is_external | bit | Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, Azure SQL Database y Azure Synapse Analytics. Indica que la tabla es una tabla externa. 0 = La tabla no es una tabla externa. 1 = La tabla es una tabla externa. |
history_retention_period | int | Se aplica a: Azure SQL Database. Valor numérico que representa la duración del período de retención de historial temporal en unidades especificadas con history_retention_period_unit. |
history_retention_period_unit | int | Se aplica a: Azure SQL Database. Valor numérico que representa el tipo de unidad del período de retención de historial temporal. -1: INFINITE 3: DAY 4: WEEK 5: MONTH 6: YEAR |
history_retention_period_unit_desc | nvarchar(10) | Se aplica a: Azure SQL Database. Descripción de texto del tipo de unidad del período de retención de historial temporal. INFINITE DAY WEEK MONTH YEAR |
is_node | bit | Se aplica a: SQL Server 2017 (14.x) y Azure SQL Database. 1 = Se trata de una tabla de nodo de gráfico. 0 = No se trata de una tabla de nodo de gráfico. |
is_edge | bit | Se aplica a: Azure SQL Database. 1 = Se trata de una tabla perimetral de gráfico. 0 = No se trata de una tabla perimetral de gráfico. |
ledger_type | tinyint | Se aplica a: a partir de SQL Server 2022 (16.x), Azure SQL Database. El valor numérico indica si la tabla es una tabla de libro de contabilidad. 0 = NON_LEDGER_TABLE 1 = HISTORY_TABLE (se asocia a una tabla de libro de contabilidad actualizable) 2 = UPDATABLE_LEDGER_TABLE 3 = APPEND_ONLY_LEDGER_TABLE Para obtener más información sobre el libro de contabilidad de base de datos, consulte Libro de contabilidad. |
ledger_type_desc | nvarchar(60) | Se aplica a: a partir de SQL Server 2022 (16.x), Azure SQL Database. Descripción de texto de un valor en la columna ledger_type: NON_LEDGER_TABLE HISTORY_TABLE UPDATABLE_LEDGER_TABLE APPEND_ONLY_LEDGER_TABLE |
ledger_view_id | int | Se aplica a: a partir de SQL Server 2022 (16.x), Azure SQL Database. Cuando ledger_type IN (2,3) devuelve object_id de la vista del libro de contabilidad; de lo contrario, devuelve NULL. |
is_dropped_ledger_table | bit | Se aplica a: a partir de SQL Server 2022 (16.x), Azure SQL Database. Indica una 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.
Ejemplos
En el ejemplo siguiente se devuelven todas las tablas de usuario que no tienen una clave principal.
SELECT SCHEMA_NAME(schema_id) AS schema_name
,name AS table_name
FROM sys.tables
WHERE OBJECTPROPERTY(object_id,'TableHasPrimaryKey') = 0
ORDER BY schema_name, table_name;
GO
En el ejemplo siguiente se muestra cómo se pueden exponer datos temporales relacionados.
Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, y Azure SQL Database
SELECT T1.object_id, T1.name as TemporalTableName, SCHEMA_NAME(T1.schema_id) AS TemporalTableSchema,
T2.name as HistoryTableName, SCHEMA_NAME(T2.schema_id) AS HistoryTableSchema,
T1.temporal_type_desc
FROM sys.tables T1
LEFT JOIN sys.tables T2
ON T1.history_table_id = T2.object_id
ORDER BY T1.temporal_type desc
En el ejemplo siguiente se muestra cómo se puede exponer información sobre la retención de historial temporal.
Se aplica a: Azure SQL Database.
SELECT DB.is_temporal_history_retention_enabled, SCHEMA_NAME(T1.schema_id) AS TemporalTableSchema,
T1.name as TemporalTableName, SCHEMA_NAME(T2.schema_id) AS HistoryTableSchema, T2.name as HistoryTableName,
T1.history_retention_period, T1.history_retention_period_unit_desc
FROM sys.tables T1
OUTER APPLY (select is_temporal_history_retention_enabled from sys.databases where name = DB_NAME()) DB
LEFT JOIN sys.tables T2
ON T1.history_table_id = T2.object_id WHERE T1.temporal_type = 2
Consulte también
Vistas de catálogo de objetos (Transact-SQL)
Vistas de catálogo (Transact-SQL)
DBCC CHECKDB (Transact-SQL)
DBCC CHECKTABLE (Transact-SQL)
Consultar las preguntas más frecuentes (P+F) del catálogo del sistema de SQL Server
In-Memory OLTP (optimización In-Memory)