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