Eu tenho um problema estranho com um banco de dados SQLServer 2014 (12.0.4439.1).
Criei há alguns meses um arquivo de dados e uma tabela para brincar com os recursos básicos do In-Memory e ver se poderia melhorar alguns de nossos processos. Quando terminei, queria limpar tudo, mas não sabia que " Depois de criar um grupo de arquivos com otimização de memória, você só pode removê-lo descartando o banco de dados ".
Bem, eu não queria deletar meu banco de dados (já que é usado na vida real por pessoas reais) nem recriá-lo / preenchê-lo novamente (muito trabalho).
Então tudo ficou assim: um banco de dados normal com um arquivo vazio para coisas na memória. E tudo está indo bem.
Mas, uma vez, o arquivo de log desse banco de dados está enlouquecendo: seu tamanho aumenta e nada pode detê-lo. E quando tento reduzi-lo, geralmente (nem sempre) recebo um " redução falhou no arquivo de log devido a XTP_CHECKPOINT " que parece relacionado a recursos na memória. E depois de tentar o backup / reinício do serviço / ponto de verificação e outros comandos esotéricos, o arquivo de log pode ser manipulado e reduzido corretamente.
Resumindo: não entendo o que aconteceu.
Alguém já experimentou isso? e/ou conhece uma maneira limpa de evitar/consertar esse comportamento estranho?
[EDIT] : o problema é muito semelhante a https://support.microsoft.com/en-us/kb/3090141 , mas no meu caso, o hotfix já está instalado e a solução alternativa sugerida (offline / online) não funciona
Normalmente, nos logs do SQLServer, há uma mensagem HkHostLogCheckpointRecord() a cada hora. O aumento do arquivo de log começou a acontecer quando essas mensagens pararam de aparecer. É a causa ou a consequência? essa é a questão....
OK, não encontrei uma explicação clara, mas descobri como consertar isso.
Isso ocorreu porque o arquivo usado para armazenar objetos na memória estava cheio e não pôde alocar mais espaço. Portanto, não há mais pontos de verificação e registros e crescendo cada vez mais. Isso está acontecendo mesmo que não haja objetos na memória no banco de dados (e, portanto, não há razão para o arquivo de dados crescer).
Permitir que o arquivo cresça mais não está funcionando, você precisa adicionar outro arquivo ao seu grupo de arquivos.
Então, sabendo disso, é fácil consertar.
Conclusão da história: monitorar cuidadosamente o tamanho dos dados é ainda mais importante com in-memory.