KB4099472 - Melhoria do algoritmo de round robin da página PFS no SQL Server 2014, 2016 e 2017

Aplica-se a
SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2017 Developer on Windows SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomas

Considere o seguinte cenário:

  • Você tem um aplicativo que usa muito o banco de dados tempdb ou tem uma carga de trabalho de banco de dados tempdb específica.
  • Você atualiza para o Microsoft SQL Server 2016 ou uma versão posterior e começa a ver a contenção de página PFS.
  • Você segue as práticas recomendadas do banco de dados tempdb e adiciona vários arquivos de dados.

Nesse cenário, a contenção de página PFS pesada continua e afeta o desempenho do sistema.

Observação Se o mapa da página for facilmente dividido por 8088, é uma página PFS. Por exemplo, a página 2:3:905856 é um PFS em file_id=3 em tempdb.

Resolução

Informações sobre a atualização cumulativa

Esse problema é corrigido nas seguintes atualizações cumulativas para o SQL Server:

Atualização cumulativa 7 para o SQL Server 2017

Atualização cumulativa 1 para o SQL Server 2016 SP2

Atualização cumulativa 9 para o SQL Server 2016 SP1

Sobre atualizações cumulativas para o SQL Server:

Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes para o SQL Server:

Atualização cumulativa mais recente do SQL Server 2017

Atualização cumulativa mais recente do SQL Server 2016

Esse problema é corrigido no hotfix descrito no seguinte artigo:

4099490 Pacote de atualização de hotfix sob demanda para o SQL Server 2016 SP1

Essa correção melhora a alocação de página PFS executando alocações round-robin em várias páginas PFS no mesmo arquivo de dados, além da alocação round-robin em todos os arquivos de dados tempdb. Portanto, quanto mais páginas de dados PFS estiverem contidas em um arquivo de dados e quanto mais arquivos de dados houver, melhor será a distribuição de alocação.

Observação Como os dados agora estão espalhados pelos intervalos PFS dentro dos arquivos de banco de dados tempdb, operações como a redução do banco de dados se tornarão mais intensivas em recursos. No entanto, geralmente não é recomendável reduzir tempdb durante o curso típico de operação.

Informações sobre o Service Pack do SQL Server:

Esta atualização é corrigida no seguinte service pack para o SQL Server:

Service Pack 3 para SQL Server 2014

Sobre service packs do SQL Server:

Os service packs são cumulativos. Cada novo service pack contém todas as correções dos service packs anteriores, juntamente com as novas correções. Nossa recomendação é aplicar o service pack mais recente e a atualização cumulativa mais recente para esse service pack. Não é necessário instalar um service pack anterior antes de instalar o service pack mais recente. Use a Tabela 1 do artigo a seguir para encontrar mais informações sobre o service pack mais recente e a atualização cumulativa mais recente.

Como determinar a versão, a edição e o nível de atualização do SQL Server e seus componentes

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Referências

Recomendações para reduzir a contenção de alocação no banco de dados tempdb do SQL Server