Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Exibe informações sobre arquivos de ponto de verificação OLTP na memória, incluindo tamanho do arquivo, localização física e ID da transação.
Note
Para o ponto de verificação atual que não foi fechado, a coluna de estado de sys.dm_db_xtp_checkpoint_files estará EM CONSTRUÇÃO para novos arquivos. Um ponto de verificação é fechado automaticamente quando há crescimento suficiente do log de transações desde o último ponto de verificação ou se você emitir o CHECKPOINT comando. Para obter mais informações, confira CHECKPOINT (Transact-SQL).
Um grupo de arquivos com otimização de memória usa internamente arquivos somente acréscimo para armazenar linhas inseridas e excluídas para tabelas na memória. Existem dois tipos de arquivos. Um arquivo de dados contém linhas inseridas, enquanto um arquivo delta contém referências a linhas excluídas.
Para obter mais informações, consulte Criando e gerenciando armazenamento para objetos com otimização de memória.
| Nome da Coluna | Tipo | Descrição |
|---|---|---|
| container_id | int | A ID do contêiner (representado como um arquivo com o tipo FILESTREAM em sys.database_files) do qual o arquivo de dados ou delta faz parte. Junta-se com file_id no sys.database_files (Transact-SQL). |
| container_guid | uniqueidentifier | GUID do Contêiner, do qual o arquivo raiz, de dados ou delta faz parte. Junta-se com file_guid na sys.database_files tabela. |
| checkpoint_file_id | uniqueidentifier | GUID do arquivo de ponto de verificação. |
| relative_file_path | nvarchar(256) | Caminho do arquivo em relação ao contêiner para o qual ele é mapeado. |
| file_type | smallint | -1 de graça 0 para o arquivo DATA. 1 para arquivo DELTA. 2 para arquivo ROOT 3 para arquivo LARGE DATA |
| file_type_desc | nvarchar(60) | GRÁTIS- Todos os arquivos mantidos como GRATUITOS estão disponíveis para alocação. Os arquivos gratuitos podem variar em tamanho, dependendo das necessidades previstas pelo sistema. O tamanho máximo é de 1 GB. DATA - Os arquivos de dados contêm linhas que foram inseridas em tabelas com otimização de memória. DELTA - Os arquivos delta contêm referências a linhas em arquivos de dados que foram excluídos. ROOT - Os arquivos raiz contêm metadados do sistema para objetos com otimização de memória e compilados nativamente. DADOS GRANDES - Arquivos de dados grandes contêm valores inseridos em colunas (n)varchar(max) e varbinary(max), bem como os segmentos de coluna que fazem parte de índices columnstore em tabelas com otimização de memória. |
| internal_storage_slot | int | O índice do arquivo na matriz de armazenamento interna.
NULL para ROOT ou para estado diferente de 1. |
| checkpoint_pair_file_id | uniqueidentifier | Arquivo DATA ou DELTA correspondente.
NULL para ROOT. |
| file_size_in_bytes | bigint | Tamanho do arquivo no disco. |
| file_size_used_in_bytes | bigint | Para os pares de arquivos de ponto de verificação que ainda estão sendo populados, essa coluna será atualizada após o próximo ponto de verificação. |
| logical_row_count | bigint | Para Dados, número de linhas inseridas. Para Delta, número de linhas excluídas após a contabilização da tabela de descarte. Para raiz, NULL. |
| estado | smallint | 0 - PRÉ-CRIADO 1 - EM CONSTRUÇÃO 2 - ATIVO 3 - MERGE ALVO 8 - AGUARDANDO TRUNCAMENTO DE LOG |
| state_desc | nvarchar(60) | PRECREATED - Vários arquivos de ponto de verificação são pré-alocados para minimizar ou eliminar quaisquer esperas para alocar novos arquivos à medida que as transações estão sendo executadas. Esses arquivos podem variar em tamanho e são criados dependendo das necessidades estimadas da carga de trabalho. Eles não contêm dados. Essa é uma sobrecarga de armazenamento em bancos de dados com um MEMORY_OPTIMIZED_DATA grupo de arquivos. EM CONSTRUÇÃO - Esses arquivos de ponto de verificação estão em construção, o que significa que estão sendo preenchidos com base nos registros de log gerados pelo banco de dados e ainda não fazem parte de um ponto de verificação. ACTIVE - Contêm as linhas inseridas/excluídas de pontos de verificação fechados anteriores. Eles contêm o conteúdo das tabelas que são lidas na memória antes de aplicar a parte ativa do log de transações na reinicialização do banco de dados. Esperamos que o tamanho desses arquivos de ponto de verificação seja aproximadamente 2x maior do tamanho na memória das tabelas com otimização de memória, supondo que a operação de mesclagem esteja acompanhando a carga de trabalho transacional. MERGE TARGET - O objetivo das operações de fusão - esses arquivos de checkpoint armazenam as linhas de dados consolidadas dos arquivos de origem identificados pela política de fusão. Uma vez instalada a fusão, o MERGE TARGET transita para o estado ATIVO. AGUARDANDO TRUNCAMENTO DE LOG - Uma vez que a mescagem é instalada e o MERGE CFP TARGET faz parte do checkpoint durável, os arquivos de checkpoint de origem da mescagem fazem a transição para esse estado. Os arquivos nesse estado são necessários para a correção operacional do banco de dados com a tabela com otimização de memória. Por exemplo, restaurar de um ponto de verificação durável para voltar no tempo. |
| lower_bound_tsn | bigint | Limite inferior da transação no arquivo; NULL se declarar não em (1, 3). |
| upper_bound_tsn | bigint | Limite superior da transação no arquivo; NULL se declarar não em (1, 3). |
| begin_checkpoint_id | bigint | ID do ponto de verificação inicial. |
| end_checkpoint_id | bigint | ID do ponto de verificação final. |
| last_updated_checkpoint_id | bigint | ID do último ponto de verificação que atualizou este arquivo. |
| encryption_status | smallint | 0, 1, 2 |
| encryption_status_desc | nvarchar(60) | 0 => NÃO CRIPTOGRAFADO 1 => CRIPTOGRAFADO COM A CHAVE 1 2 => CRIPTOGRAFADO COM A CHAVE 2. Válido apenas para arquivos ativos. |
Permissions
Requer permissão VIEW DATABASE STATE no banco de dados.
Permissões para SQL Server 2022 e posterior
Requer VIEWDATABASE permissão de PERFORMANCE STATE no banco de dados.
Casos de uso
Você pode estimar o armazenamento total usado pelo OLTP in-memory da seguinte maneira:
-- total storage used by In-Memory OLTP
SELECT SUM (file_size_in_bytes)/(1024*1024) as file_size_in_MB
FROM sys.dm_db_xtp_checkpoint_files;
Para ver um detalhamento da utilização do armazenamento por estado e tipo de arquivo, execute a seguinte consulta:
SELECT state_desc
, file_type_desc
, COUNT(*) AS [count]
, SUM(file_size_in_bytes) / 1024 / 1024 AS [on-disk size MB]
FROM sys.dm_db_xtp_checkpoint_files
GROUP BY state, state_desc, file_type, file_type_desc
ORDER BY state, file_type;
Conteúdo relacionado
- Introdução às tabelas de Memory-Optimized
- Exibições de gerenciamento dinâmico de tabela com otimização de memória
- Visão geral do OLTP in-memory e cenários de uso
- Otimizar o desempenho usando tecnologias na memória no Banco de Dados SQL do Azure
- Otimizar o desempenho usando tecnologias na memória na Instância Gerenciada de SQL do Azure