Aperfeiçoamento: Ativar mecanismo "forçados a liberação" no SQL Server 2017 no Linux

Aplica-se a: SQL Server 2017 Developer on LinuxSQL Server 2017 Enterprise Core on LinuxSQL Server 2017 Enterprise on Linux Mais

Melhoria


Suponha que você está usando o SQL Server 2017 no Linux. Em determinados cenários, SQL Server pode ocorrer a perda de dados em sistemas que usam caches volátil. A perda ocorre devido a circunstâncias imprevistas, como falta de energia antes dos dados em cache são gravados em uma mídia estável. Para evitar essas situações, um mecanismo forçado flush é introduzido na atualização cumulativa 6 (CU6) para SQL Server 2017 no Linux. Se o subsistema de armazenamento não pode garantir gravações duráveis em queda de energia, é recomendável que você aplique CU6 para 2017 do SQL Server no Linux.

Essa atualização permite que o seguinte:

  • O forçado liberação atividade como ponto de verificação de gravação de comportamento durante o banco de dados e gravações do log de transação.
  • A definição de configuração writethrough = 1 e alternatewritethrough = 1 Opções por padrão. Essas configurações padrão permitem que o SQL Server certificar-se de que grava permanentemente são liberados para bloquear dispositivos . Writethrough alternativo é uma opção para otimizar as solicitações de liberação de durabilidade ao sistema de arquivos . Para obter mais informações sobre as duas configurações, consulte a tabela a seguir:
Nome Padrão Descrição
writethrough  1

Os valores válidos são 0 e 1.

1 = solicitações FILE_FLAG_WRITE_THROUGH converte em O_DSYNC abre.

0 = impede a tradução de solicitações de FILE_FLAG_WRITE_THROUGH O_DSYNC abre.
alternatewritethough  1

Os valores válidos são 0 e 1.

1 = Habilita otimizada pela extensão do Host para solicitações FILE_FLAG_WRITE_THROUGH de liberação. Write(s) arquivos optimize(s) chamadas para fdatasync para o dispositivo de bloco.

0 = desabilita a otimização de liberação alternativa. O arquivo é aberto por meio de O_DSYNC e o sistema de arquivos subjacente realiza a gravação necessária, solicitações de liberação.

Observação: a configuração alternatewritethrough se aplicam somente quando writethrough = 1.

Mais informações


Para obter mais informações, consulte práticas recomendadas de desempenho e as diretrizes de configuração para 2017 do SQL Server no Linux para lidar com cargas de trabalho de gravação de alta frequência e recomendações de posicionamento do arquivo de banco de dados.

Instalações do SQL Server em execução em sistemas de armazenamento que garantem grava são O_DIRECT segurança pode ativar o sinalizador de rastreamento (TF) 3979 para desabilitar o comportamento forçado flush e definir o alternatewritethrough e writethrough opções de mssql.conf para ZERO. Isso retorna SQL Server 2017 para o comportamento pré-CU6.

Observação Um sistema de armazenamento pode certificar-se de que todas as gravações em cache ou transferidas são consideradas seguras e duráveis, garantindo que as gravações emitidas para o dispositivo são mantidas em uma mídia persistirão nas falhas no sistema, interface redefine e falhas de energia e a própria mídia é redundância de hardware.

Aqui estão mais detalhes sobre o comportamento do SQL Server para i/o de arquivos com essas alterações:

  • Banco de dados (. mdf) e arquivos de log (. ldf) de transação não usam writethrough e alternatewritethrough por padrão em CU6 como eles usam o comportamento forçado flush . 3979 TF desativa o uso do comportamento forçado liberação para arquivos de log de transações e de banco de dados e usará a lógica de writethrough e alternatewritethrough.
  • Outros arquivos que são abertos usando FILE_FLAG_WRITE_THROUGH no SQL Server, como snapshots de banco de dados, instantâneos internos para verificações de consistência do banco de dados (CHECKDB), arquivos de rastreamento do profiler e arquivos de rastreamento de eventos estendidos, usará o writethrough e otimizações de alternatewritethrough.

Resolução


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

Atualização cumulativa 6 para SQL Server 2017

Referências


Saiba mais sobre a terminologia usada pela Microsoft para descrever as atualizações de software.