Melhoria: Faça vários aprimoramentos no utilitário SQLIOSim

Resumo

Essa melhoria faz os seguintes aprimoramentos no utilitário SQLIOSim e corrige problemas de integridade de dados que podem ser causados pela manipulação de E/S. Para obter mais informações sobre o utilitário SQLIOSim, consulte a Introdução do utilitário SQLIOSim.

Registro em log aprimorado

  • Adiciona um novo buffer de anel para rastrear erros, a fim de evitar que os erros no buffer de anel de histórico sejam substituídos devido à rolagem.
  • Adiciona várias saídas que contêm "contagem de tiques" e/ou "data e hora" para facilitar a depuração de problemas.
  • Adiciona as saídas de fsutil e as informações de volume ao arquivo de erro, a fim de mapear o deslocamento do arquivo no disco físico e filtrar os rastreamentos do subsistema de E/S de forma mais fácil.
  • Adiciona a saída para UTC (Tempo Universal Coordenado) e hora local.
  • Divide a saída do cabeçalho da página para o arquivo de erro, como PageId, Checksum e Timestamp.
  • Exibe uma lista das páginas do FILE HISTORY buffer de anel para localizar mais facilmente as entradas do buffer de anel.
  • Exibe Timestamp, Date Time, CPU Lógico e outras colunas nas visualizações Sqliosim.log.xml ou ErrorLog.xslt.
  • Aumenta o tamanho dos buffers de anel e reduz a frequência do rollover.
  • Fornece saídas hexadecimais e decimais para saídas comuns, como PageId, Checksum e Timestamp.
  • Atualiza o layout do Sqliosim.log.xml para facilitar a leitura do arquivo XML em um editor de texto.
  • O Sqliosim.log.xml validado e o ErrorLog.xslt podem ser exibidos corretamente no Microsoft Edge que usa o modo Internet Explorer (IE).

Marca temporal do cabeçalho da página

Armazena o valor de GetTickCount64 no cabeçalho da página durante as operações de gravação. A contagem de ticks é útil para monitorar quando a página é escrita e filtrar os rastreamentos do subsistema de entrada/saída.

BNR (bytes não lidos)

O problema de E/S faz com que a operação de leitura seja retornada como se a operação de leitura fosse bem-sucedida, mas o buffer real não fosse atualizado ou lido. O utilitário SQLIOSim recebe uma leitura bem-sucedida, mas falha nas verificações de validação.

O utilitário SQLIOSim agora carimba os buffers de leitura usando o padrão BNR antes de emitir uma leitura. Quando a operação de leitura retorna com êxito, mas não executa a leitura real, a validação continua a falhar. No entanto, os bytes lidos mostram o padrão .BNR que indica uma questão de subsistema de E/S.

Gravação-nova tentativa

Se o subsistema de E/S encontrar uma redefinição (mais comum em instalações de armazenamento de conexão direta (DAS)), as solicitações de operação de gravação poderão ser concluídas incorretamente. O utilitário SQLIOSim não garante capacidades de nova tentativa de gravação. Em alguns casos, o utilitário SQLIOSim tenta ler e validar os dados que não são gravados.

O utilitário SQLIOSim foi aprimorado para registrar uma falha de gravação e, em seguida, executar uma operação de nova tentativa de gravação.

Bloqueio aprimorado

Os mecanismos de bloqueio interno e a atividade de proteção de página (VirtualProtect) são otimizados e aprimorados para garantir que um problema relatado pelo utilitário SQLIOSim não seja causado por uma falha lógica no utilitário SQLIOSim.

Leitura-nova tentativa

Corrige um problema que faz com que a tentativa de ler novamente uma leitura LDX (simulação de log) com falha falhe ao tentar novamente.

Exemplos de saídas aprimoradas

O primeiro exemplo da saída aprimorada inclui os seguintes aprimoramentos:

  • Hora UTC
  • Hexadecimal e decimal
  • Marca de tempo / Contagem de tiques
  • BNR
  • Expansão do cabeçalho da página

Captura de tela da saída aprimorada, que inclui Hora UTC, Hexadecimal e decimal, Carimbo de data/hora/Contagem de tiques, BNR e Expansão do cabeçalho da página.

O segundo exemplo da saída aprimorada inclui os seguintes aprimoramentos:

  • Buffer de anéis
  • Hora UTC
  • Segmentação de intervalo de páginas

Captura de tela da saída aprimorada, que inclui buffer de anel, hora UTC e quebra de intervalo de páginas.

O terceiro exemplo da saída aprimorada inclui os seguintes aprimoramentos:

  • Coluna de contagem de ticks
  • Coluna de CPU lógica

Captura de tela da saída aprimorada, que inclui as colunas para Contagem de tiques e CPU lógica.

Mais informações

Essa melhoria está incluída na seguinte atualização cumulativa do SQL Server:

Atualização cumulativa 7 para SQL Server 2022

Sobre atualizações cumulativas para SQL Server

Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que você instale o build mais recente para sua versão do SQL Server:

Atualização cumulativa mais recente do SQL Server 2022

Referências

Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.