sys.tables (Transact-SQL)sys.tables (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Devuelve una fila para cada tabla de usuario de SQL ServerSQL Server.Returns a row for each user table in SQL ServerSQL Server.

Nombre de columnaColumn name Tipo de datosData type DescripciónDescription
<hereda columnas ><inherited columns> Para obtener una lista de columnas que hereda esta vista, consulte sys.objects (Transact-SQL).For a list of columns that this view inherits, see sys.objects (Transact-SQL).
lob_data_space_idlob_data_space_id intint 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.A nonzero value is the ID of the data space (filegroup or partition scheme) that holds the large object binary (LOB) data for this table. Ejemplos de tipos de datos LOB varbinary (max) , varchar (max) , geography, o xml.Examples of LOB data types include varbinary(max), varchar(max), geography, or xml.

0 = La tabla no contiene datos LOB.0 = The table does not LOB data.
filestream_data_space_idfilestream_data_space_id intint 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.Is the data space ID for a FILESTREAM filegroup or a partition scheme that consists of FILESTREAM filegroups.

Para notificar el nombre de un grupo de archivos FILESTREAM, ejecute la consulta SELECT FILEGROUP_NAME (filestream_data_space_id) FROM sys.tables.To report the name of a FILESTREAM filegroup, execute the query 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.tables can be joined to the following views on filestream_data_space_id = data_space_id.

-sys.filegroups- sys.filegroups

-sys.partition_schemes- sys.partition_schemes

-sys.indexes- sys.indexes

-sys.allocation_units- sys.allocation_units

-sys.fulltext_catalogs- sys.fulltext_catalogs

-sys.data_spaces- sys.data_spaces

-sys.destination_data_spaces- sys.destination_data_spaces

-sys.master_files- sys.master_files

-sys.database_files- sys.database_files

-backupfilegroup (combinar en filegroup_id)- backupfilegroup (join on filegroup_id)
max_column_id_usedmax_column_id_used intint Identificador de columna máximo que se ha utilizado en esta tabla.Maximum column ID ever used by this table.
lock_on_bulk_loadlock_on_bulk_load bitbit La tabla está bloqueada en una carga masiva.Table is locked on bulk load. Para obtener más información, vea sp_tableoption (Transact-SQL).For more information, see sp_tableoption (Transact-SQL).
uses_ansi_nullsuses_ansi_nulls bitbit La tabla se creó con la opción de base de datos SET ANSI_NULLS establecida en ON.Table was created with the SET ANSI_NULLS database option ON.
is_replicatedis_replicated bitbit 1 = La tabla se publicó con la replicación de instantáneas o transaccional.1 = Table is published using snapshot replication or transactional replication.
has_replication_filterhas_replication_filter bitbit 1 = La tabla tiene un filtro de replicación.1 = Table has a replication filter.
is_merge_publishedis_merge_published bitbit 1 = La tabla se publicó con la replicación de mezcla.1 = Table is published using merge replication.
is_sync_tran_subscribedis_sync_tran_subscribed bitbit 1 = La tabla se suscribió con una suscripción de actualización inmediata.1 = Table is subscribed using an immediate updating subscription.
has_unchecked_assembly_datahas_unchecked_assembly_data bitbit 1 = La tabla contiene datos persistentes que dependen de un ensamblado cuya definición cambió durante el último ALTER ASSEMBLY.1 = Table contains persisted data that depends on an assembly whose definition changed during the last ALTER ASSEMBLY. Se restablecerá en 0 tras la siguiente operación DBCC CHECKDB o DBCC CHECKTABLE correcta.Will be reset to 0 after the next successful DBCC CHECKDB or DBCC CHECKTABLE.
text_in_row_limittext_in_row_limit intint Número máximo de bytes permitido para text in row.The maximum bytes allowed for text in row.

0 = el texto de fila no se establece la opción.0 = Text in row option is not set. Para obtener más información, vea sp_tableoption (Transact-SQL).For more information, see sp_tableoption (Transact-SQL).
large_value_types_out_of_rowlarge_value_types_out_of_row bitbit 1 = Los tipos de valores grandes se guardan fuera de la fila.1 = Large value types are stored out-of-row. Para obtener más información, vea sp_tableoption (Transact-SQL).For more information, see sp_tableoption (Transact-SQL).
is_tracked_by_cdcis_tracked_by_cdc bitbit 1 = La tabla está habilitada para la captura de datos modificados.1 = Table is enabled for change data capture. Para obtener más información, consulte sys.sp_cdc_enable_table (Transact-SQL).For more information, see sys.sp_cdc_enable_table (Transact-SQL).
lock_escalationlock_escalation tinyinttinyint Valor de la opción LOCK_ESCALATION para la tabla:The value of the LOCK_ESCALATION option for the table:

0 = TABLE0 = TABLE

1 = DISABLE1 = DISABLE

2 = AUTO2 = AUTO
lock_escalation_desclock_escalation_desc nvarchar(60)nvarchar(60) Descripción de texto de la opción lock_escalation para la tabla.A text description of the lock_escalation option for the table. Los valores posibles son: TABLE, AUTO y DISABLE.Possible values are: TABLE, AUTO, and DISABLE.
is_filetableis_filetable bitbit Se aplica a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017 y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017 and Base de datos SQL de AzureAzure SQL Database.

1 = La tabla es un objeto FileTable.1 = Table is a FileTable.

Para más información sobre FileTables, vea FileTables (SQL Server).For more information about FileTables, see FileTables (SQL Server).
durabilidaddurability tinyinttinyint Se aplica a: SQL Server 2014 (12.x)SQL Server 2014 (12.x) a SQL Server 2017SQL Server 2017 y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017 and Base de datos SQL de AzureAzure SQL Database.

Estos son los valores posibles:The following are possible values:

0 = SCHEMA_AND_DATA0 = SCHEMA_AND_DATA

1 = SCHEMA_ONLY1 = SCHEMA_ONLY

El valor 0 es el predeterminado.The value of 0 is the default value.
durability_descdurability_desc nvarchar(60)nvarchar(60) Se aplica a: SQL Server 2014 (12.x)SQL Server 2014 (12.x) a SQL Server 2017SQL Server 2017 y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017 and Base de datos SQL de AzureAzure SQL Database.

Los posibles valores son los siguientes:The following are the possible values:

SCHEMA_ONLYSCHEMA_ONLY

SCHEMA_AND_DATASCHEMA_AND_DATA

El valor de SCHEMA_AND_DATA indica que la tabla es una tabla en memoria perdurable.The value of SCHEMA_AND_DATA indicates that the table is a durable, in-memory table. SCHEMA_AND_DATA es el valor predeterminado para las tablas optimizadas para memoria.SCHEMA_AND_DATA is the default value for memory optimized tables. 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.The value of SCHEMA_ONLY indicates that the table data will not be persisted upon restart of the database with memory optimized objects.
is_memory_optimizedis_memory_optimized bitbit Se aplica a: SQL Server 2014 (12.x)SQL Server 2014 (12.x) a SQL Server 2017SQL Server 2017 y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017 and Base de datos SQL de AzureAzure SQL Database.

Los posibles valores son los siguientes:The following are the possible values:

0 = no optimizado en memory.0 = not memory optimized.

1 = está optimizado para memoria.1 = is memory optimized.

Un valor de 0 es el valor predeterminado.A value of 0 is the default value.

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.Memory optimized tables are in-memory user tables, the schema of which is persisted on disk similar to other user tables. Se puede tener acceso a las tablas optimizadas para memoria desde procedimientos almacenados compilados de forma nativa.Memory optimized tables can be accessed from natively compiled stored procedures.
temporal_typetemporal_type tinyinttinyint Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017 y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017 and Base de datos SQL de AzureAzure SQL Database.

El valor numérico que representa el tipo de tabla:The numeric value representing the type of table:

0 = NON_TEMPORAL_TABLE0 = NON_TEMPORAL_TABLE

1 = HISTORY_TABLE1 = HISTORY_TABLE

2 = SYSTEM_VERSIONED_TEMPORAL_TABLE2 = SYSTEM_VERSIONED_TEMPORAL_TABLE
temporal_type_desctemporal_type_desc nvarchar(60)nvarchar(60) Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017 y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017 and Base de datos SQL de AzureAzure SQL Database.

La descripción de texto del tipo de tabla:The text description of the type of table:

NON_TEMPORAL_TABLENON_TEMPORAL_TABLE

HISTORY_TABLEHISTORY_TABLE

SYSTEM_VERSIONED_TEMPORAL_TABLESYSTEM_VERSIONED_TEMPORAL_TABLE
history_table_idhistory_table_id intint Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017 y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017 and Base de datos SQL de AzureAzure SQL Database.

Cuando temporal_type IN (2, 4) devuelve el object_id de la tabla que mantiene los datos históricos, en caso contrario, devuelve NULL.When temporal_type IN (2, 4) returns object_id of the table that maintains historical data, otherwise returns NULL.
is_remote_data_archive_enabledis_remote_data_archive_enabled bitbit Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) a través de SQL Server 2017SQL Server 2017 y Base de datos SQL de AzureAzure SQL DatabaseApplies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017 and Base de datos SQL de AzureAzure SQL Database

Indica si la tabla está habilitada para Stretch.Indicates whether the table is Stretch-enabled.

0 = la tabla no está habilitada para Stretch.0 = The table is not Stretch-enabled.

1 = la tabla está habilitada para Stretch.1 = The table is Stretch-enabled.

Para obtener más información, vea Stretch Database.For more info, see Stretch Database.
is_externalis_external bitbit Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) a través de SQL Server 2017SQL Server 2017, Base de datos SQL de AzureAzure SQL Database, y Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Base de datos SQL de AzureAzure SQL Database, and Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse.

Indica la tabla es una tabla externa.Indicates table is an external table.

0 = la tabla no es una tabla externa.0 = The table is not an external table.

1 = la tabla es una tabla externa.1 = The table is an external table.
history_retention_periodhistory_retention_period intint Se aplica a: Base de datos SQL de AzureAzure SQL Database.Applies to: Base de datos SQL de AzureAzure SQL Database.

El 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.The numeric value representing duration of the temporal history retention period in units specified with history_retention_period_unit.
history_retention_period_unithistory_retention_period_unit intint Se aplica a: Base de datos SQL de AzureAzure SQL Database.Applies to: Base de datos SQL de AzureAzure SQL Database.

El valor numérico que representa el tipo de unidad del período de retención temporal de historial.The numeric value representing type of temporal history retention period unit.

-1: INFINITO-1 :INFINITE

3: DAY3: DAY

4: WEEK4: WEEK

5: MONTH5: MONTH

6: YEAR6: YEAR
history_retention_period_unit_deschistory_retention_period_unit_desc nvarchar(10)nvarchar(10) Se aplica a: Base de datos SQL de AzureAzure SQL Database.Applies to: Base de datos SQL de AzureAzure SQL Database.

La descripción del tipo de unidad del período de retención temporal de historial.The text description of type of temporal history retention period unit.

INFINITEINFINITE

DAYDAY

WEEKWEEK

MONTHMONTH

YEARYEAR
is_nodeis_node bitbit Se aplica a: SQL Server 2017 (14.x)SQL Server 2017 (14.x) y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) and Base de datos SQL de AzureAzure SQL Database.

1 = se trata de una tabla de nodo del gráfico.1 = This is a graph Node table.

0 = esta no es una tabla de nodo de graph.0 = This is not a graph Node table.
is_edgeis_edge bitbit Se aplica a: SQL Server 2017 (14.x)SQL Server 2017 (14.x) y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) and Base de datos SQL de AzureAzure SQL Database.

1 = se trata de una tabla de borde del gráfico.1 = This is a graph Edge table.

0 = esta no es una tabla de borde de gráfico.0 = This is not a graph Edge table.

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.

EjemplosExamples

El ejemplo siguiente devuelve todas las tablas de usuario que no tienen una clave principal.The following example returns all of the user tables that do not have a primary key.

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  
  

El ejemplo siguiente muestra la relación de datos temporales se pueden exponer.The following example shows how related temporal data can be exposed.

Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) a SQL Server 2017SQL Server 2017 y Base de datos SQL de AzureAzure SQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017 and Base de datos SQL de AzureAzure 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  

El ejemplo siguiente muestra cómo se puede exponer información sobre la retención de historial temporal.The following example shows how information on temporal history retention can be exposed.

Se aplica a: Base de datos SQL de AzureAzure SQL Database.Applies to: Base de datos SQL de AzureAzure 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 

Vea tambiénSee Also

Object Catalog 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)
DBCC CHECKDB (Transact-SQL) DBCC CHECKDB (Transact-SQL)
DBCC CHECKTABLE (Transact-SQL) DBCC CHECKTABLE (Transact-SQL)
Consultar el catálogo del sistema SQL Server preguntas más frecuentes Querying the SQL Server System Catalog FAQ
OLTP en memoria (optimización en memoria)In-Memory OLTP (In-Memory Optimization)