Tínhamos um grande banco de dados rodando em uma instância do SQL Server 2014 Enterprise (licença de avaliação). Devido a restrições de custo, tivemos que movê-lo para uma nova instância do SQL Server 2017 Standard (licença por núcleo; apenas atualizado para CU6). EDIT: O banco de dados está em compatibilidade com SQL Server 2014 (120) e foi transferido restaurando backups completos e de log.
Tudo está funcionando bem, exceto o rastreamento de alterações. Usamos o rastreamento de alterações para localizar alterações recentes e manter uma tabela desnormalizada atualizada; a tabela denorm é utilizada para o preenchimento rápido de uma grade para a aplicação web.
O rastreamento de alterações está funcionando, mas aparentemente a limpeza automática não. Estamos recebendo alertas de gravidade 016:
A limpeza automática do Change Tracking está bloqueada na tabela lateral do
tablename
. Se a falha persistir, verifique se a tabelatablename
está bloqueada por algum processo.
Estes vêm a cada meia hora para cada uma das mesas que está reclamando (cerca de 4 mesas diferentes).
Tentamos a limpeza manual descrita aqui ... ela também apresenta erros "tabela lateral bloqueada".
Então aqui vão minhas escolhas:
- Desligue este alerta específico e espere que nada exploda.
- Desligue a limpeza automática; agende uma limpeza manual durante uma janela de manutenção diária.
- Não tenho certeza do que mais posso fazer.
Além de "o que devo fazer para parar isso?", minha pergunta paralela é "por que isso está acontecendo com o 2017 Std quando não aconteceu com o 2014 Enterprise?"
Parece ser um problema conhecido e já foi reconhecido pela Microsoft. Você pode ler a resolução como abaixo:
Resolução
Listados estão a versão que tem esses problemas:
Por favor, leia mais no link .
Esperança acima ajuda.
Estou experimentando isso também. Parece que esses alertas estão vinculados a uma melhoria no processo de limpeza automática no CU 2 para SQL 2017 e SP2 para SQL 2016:
https://support.microsoft.com/en-us/help/4054842/improvements-to-the-change-tracking-cleanup-process-in-sql-server