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

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Retorna uma linha para cada tabela de usuário no SQL ServerSQL Server.Returns a row for each user table in SQL ServerSQL Server.

Nome da colunaColumn name Tipo de dadosData type DescriçãoDescription
<colunas herdadas ><inherited columns> Para obter uma lista de colunas que essa exibição herda, 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 O valor diferente de zero é a ID do espaço de dados (esquema de partição ou grupo de arquivos) que armazena os dados de objeto binário grande (LOB) dessa tabela.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. Exemplos de tipos de dados LOB incluem varbinary (max) , varchar (max) , geographyou XML.Examples of LOB data types include varbinary(max), varchar(max), geography, or xml.

0 = A tabela não contém dados LOB.0 = The table does not LOB data.
filestream_data_space_idfilestream_data_space_id intint É a ID do espaço de dados de um grupo de arquivos FILESTREAM ou de um esquema de partição que consiste em grupos de arquivos FILESTREAM.Is the data space ID for a FILESTREAM filegroup or a partition scheme that consists of FILESTREAM filegroups.

Para relatar o nome de um grupo de arquivos FILESTREAM, execute o SELECT FILEGROUP_NAME (filestream_data_space_id) FROM sys.tablesde consulta.To report the name of a FILESTREAM filegroup, execute the query SELECT FILEGROUP_NAME (filestream_data_space_id) FROM sys.tables.

sys.tables pode ser unido às seguintes exibições em 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 (junção em filegroup_id)- backupfilegroup (join on filegroup_id)
max_column_id_usedmax_column_id_used intint ID máxima de coluna já usada por esta tabela.Maximum column ID ever used by this table.
lock_on_bulk_loadlock_on_bulk_load bitbit A tabela é bloqueada em carregamento em massa.Table is locked on bulk load. Para obter mais informações, veja sp_tableoption (Transact-SQL).For more information, see sp_tableoption (Transact-SQL).
uses_ansi_nullsuses_ansi_nulls bitbit A tabela foi criada com a opção de banco de dados SET ANSI_NULLS definida como ON.Table was created with the SET ANSI_NULLS database option ON.
is_replicatedis_replicated bitbit 1 = A tabela é publicada usando replicação de instantâneo ou replicação transacional.1 = Table is published using snapshot replication or transactional replication.
has_replication_filterhas_replication_filter bitbit 1 = A tabela tem um filtro de replicação.1 = Table has a replication filter.
is_merge_publishedis_merge_published bitbit 1 = A tabela é publicada usando replicação de mesclagem.1 = Table is published using merge replication.
is_sync_tran_subscribedis_sync_tran_subscribed bitbit 1 = A tabela é inscrita usando uma assinatura de atualização imediata.1 = Table is subscribed using an immediate updating subscription.
has_unchecked_assembly_datahas_unchecked_assembly_data bitbit 1 = A tabela contém dados persistentes que dependem de um assembly cuja definição foi alterada durante o último ALTER ASSEMBLY.1 = Table contains persisted data that depends on an assembly whose definition changed during the last ALTER ASSEMBLY. Será redefinida como 0 depois do próximo DBCC CHECKDB ou DBCC CHECKTABLE bem-sucedido.Will be reset to 0 after the next successful DBCC CHECKDB or DBCC CHECKTABLE.
text_in_row_limittext_in_row_limit intint O máximo de bytes permitidos para texto em linha.The maximum bytes allowed for text in row.

0 = Texto em opção de linha não é definido.0 = Text in row option is not set. Para obter mais informações, veja 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 = Tipos de valor grande são armazenados fora de linha.1 = Large value types are stored out-of-row. Para obter mais informações, veja sp_tableoption (Transact-SQL).For more information, see sp_tableoption (Transact-SQL).
is_tracked_by_cdcis_tracked_by_cdc bitbit 1 = A tabela está habilitada para Change Data Capture.1 = Table is enabled for change data capture. Para obter mais informações, consulte Sys. (SP_CDC_ENABLE_TABLE Transact-)SQL.For more information, see sys.sp_cdc_enable_table (Transact-SQL).
lock_escalationlock_escalation tinyinttinyint O valor da opção LOCK_ESCALATION da tabela: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) Uma descrição de texto da opção lock_escalation da tabela.A text description of the lock_escalation option for the table. Os valores possíveis são: TABLE, AUTO e DISABLE.Possible values are: TABLE, AUTO, and DISABLE.
is_filetableis_filetable bitbit Aplica-se a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) e posterior e Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later and Banco de dados SQL do AzureAzure SQL Database.

1 = A tabela é uma FileTable.1 = Table is a FileTable.

Para obter mais informações sobre FileTables, veja FileTables (SQL Server).For more information about FileTables, see FileTables (SQL Server).
durabilidadedurability tinyinttinyint Aplica-se a: SQL Server 2014 (12.x)SQL Server 2014 (12.x) e posterior e Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later and Banco de dados SQL do AzureAzure SQL Database.

O valores possíveis são os seguintes:The following are possible values:

0 = SCHEMA_AND_DATA0 = SCHEMA_AND_DATA

1 = SCHEMA_ONLY1 = SCHEMA_ONLY

O valor de 0 é o valor padrão.The value of 0 is the default value.
durability_descdurability_desc nvarchar(60)nvarchar(60) Aplica-se a: SQL Server 2014 (12.x)SQL Server 2014 (12.x) e posterior e Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later and Banco de dados SQL do AzureAzure SQL Database.

O valores possíveis são os seguintes:The following are the possible values:

SCHEMA_ONLYSCHEMA_ONLY

SCHEMA_AND_DATASCHEMA_AND_DATA

O valor de SCHEMA_AND_DATA indica que a tabela é uma tabela na memória e durável.The value of SCHEMA_AND_DATA indicates that the table is a durable, in-memory table. SCHEMA_AND_DATA é o valor padrão para tabelas com otimização de memória.SCHEMA_AND_DATA is the default value for memory optimized tables. O valor de SCHEMA_ONLY indica que os dados da tabela não serão mantidos na reinicialização do banco de dados com objetos com otimização de memória.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 Aplica-se a: SQL Server 2014 (12.x)SQL Server 2014 (12.x) e posterior e Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later and Banco de dados SQL do AzureAzure SQL Database.

O valores possíveis são os seguintes:The following are the possible values:

0 = sem otimização de memória.0 = not memory optimized.

1 = com otimização de memória.1 = is memory optimized.

Um valor de 0 é o valor padrão.A value of 0 is the default value.

As tabelas com otimização de memória são tabelas de usuário na memória, o esquema que é persistido em disco semelhante a outras tabelas de usuário.Memory optimized tables are in-memory user tables, the schema of which is persisted on disk similar to other user tables. As tabelas otimizadas em memória podem ser acessadas de procedimentos armazenados compilados nativamente.Memory optimized tables can be accessed from natively compiled stored procedures.
temporal_typetemporal_type tinyinttinyint Aplica-se a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) e posterior e Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later and Banco de dados SQL do AzureAzure SQL Database.

O valor numérico que representa o tipo de tabela: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) Aplica-se a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) e posterior e Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later and Banco de dados SQL do AzureAzure SQL Database.

A descrição de texto do tipo de tabela: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 Aplica-se a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) e posterior e Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later and Banco de dados SQL do AzureAzure SQL Database.

Quando temporal_type em (2, 4) retorna object_id da tabela que mantém os dados históricos; caso contrário, retorna 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 Aplica-se a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) e posterior e Banco de dados SQL do AzureAzure SQL DatabaseApplies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later and Banco de dados SQL do AzureAzure SQL Database

Indica se a tabela está habilitada para Stretch.Indicates whether the table is Stretch-enabled.

0 = a tabela não está habilitada para Stretch.0 = The table is not Stretch-enabled.

1 = a tabela é habilitada para Stretch.1 = The table is Stretch-enabled.

Para obter mais informações, consulte Stretch Database.For more info, see Stretch Database.
is_externalis_external bitbit Aplica-se a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) e posterior, Banco de dados SQL do AzureAzure SQL Databasee Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW).Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later, Banco de dados SQL do AzureAzure SQL Database, and Azure Synapse Analytics (SQL DW)Azure Synapse Analytics (SQL DW).

Indica que a tabela é uma tabela externa.Indicates table is an external table.

0 = a tabela não é uma tabela externa.0 = The table is not an external table.

1 = a tabela é uma tabela externa.1 = The table is an external table.
history_retention_periodhistory_retention_period intint Applies to: Banco de dados SQL do AzureAzure SQL Database.Applies to: Banco de dados SQL do AzureAzure SQL Database.

O valor numérico que representa a duração do período de retenção do histórico temporal em unidades especificadas com 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 Applies to: Banco de dados SQL do AzureAzure SQL Database.Applies to: Banco de dados SQL do AzureAzure SQL Database.

O valor numérico que representa o tipo de unidade de período de retenção do histórico temporal.The numeric value representing type of temporal history retention period unit.

-1: INFINITO-1 :INFINITE

3: DIA3: DAY

4: SEMANA4: WEEK

5: MÊS5: MONTH

6: ANO6: YEAR
history_retention_period_unit_deschistory_retention_period_unit_desc nvarchar(10)nvarchar(10) Applies to: Banco de dados SQL do AzureAzure SQL Database.Applies to: Banco de dados SQL do AzureAzure SQL Database.

A descrição de texto do tipo de unidade do período de retenção do histórico temporal.The text description of type of temporal history retention period unit.

INFINITEINFINITE

DAYDAY

WEEKWEEK

MONTHMONTH

YEARYEAR
is_nodeis_node bitbit Aplica-se a: SQL Server 2017 (14.x)SQL Server 2017 (14.x) e Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) and Banco de dados SQL do AzureAzure SQL Database.

1 = Esta é uma tabela de nó de gráfico.1 = This is a graph Node table.

0 = esta não é uma tabela de nó de gráfico.0 = This is not a graph Node table.
is_edgeis_edge bitbit Aplica-se a: SQL Server 2017 (14.x)SQL Server 2017 (14.x) e Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL Server 2017 (14.x)SQL Server 2017 (14.x) and Banco de dados SQL do AzureAzure SQL Database.

1 = Esta é uma tabela de borda do gráfico.1 = This is a graph Edge table.

0 = esta não é uma tabela de borda do gráfico.0 = This is not a graph Edge table.

PermissõesPermissions

A visibilidade dos metadados em exibições do catálogo está limitada aos protegíveis que pertencem a um usuário ou para os quais o usuário recebeu permissão.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 obter mais informações, consulte Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

ExemplosExamples

O exemplo a seguir retorna todas as tabelas de usuário que não possuem uma chave primária.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  
  

O exemplo a seguir mostra como os dados temporais relacionados podem ser expostos.The following example shows how related temporal data can be exposed.

Aplica-se a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) e posterior e Banco de dados SQL do AzureAzure SQL Database.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) and later and Banco de dados SQL do 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  

O exemplo a seguir mostra como as informações sobre a retenção de histórico temporal podem ser expostas.The following example shows how information on temporal history retention can be exposed.

Applies to: Banco de dados SQL do AzureAzure SQL Database.Applies to: Banco de dados SQL do 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 

Consulte tambémSee Also

Exibições de catálogo de objeto(Transact-SQL) Object Catalog Views (Transact-SQL)
Exibições 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)
Consultando as perguntas frequentes sobre o catálogo do sistema SQL Server Querying the SQL Server System Catalog FAQ
OLTP in-memory (Otimização na memória)In-Memory OLTP (In-Memory Optimization)