Eu tenho um SQL 2016 Ent. Edição AG com 3 nós. Temos um banco de dados no AG com 5 tabelas de fluxo de arquivos. Cada tabela está em seu próprio arquivo de dados de fluxo de arquivos. Hoje consertei um bug em que todos os arquivos estavam sendo salvos em um arquivo de dados de fluxo de arquivos reconstruindo os índices.
No dev, não temos um AG e o banco de dados está em recuperação simples. O espaço foi recuperado. O antes e depois ficou assim:
Quando executei o mesmo código no AG, todos os nós ficaram assim:
Os arquivos foram movidos para o arquivo de dados de fluxo de arquivos correto, mas o espaço não foi recuperado do arquivo de dados original.
No começo eu pensei que era coleção de garagem, li o post do blog de Paul Randal . Encolhi o arquivo de log, criei uma tabela de lixo, adicionei uma tonelada de linhas por meio de um trans explícito, executei um backup de log e um ponto de verificação, tudo no nó primário. O arquivo de log cresceu, o VLF anteriormente ativo foi marcado como inativo.
Para complicar as coisas, os backups são backups completos somente cópia \ log em um nó secundário.
Qual é a maneira correta de recuperar o espaço neste cenário?
Edit: Depois de seguir os passos de Andy em seu blog, o espaço foi recuperado. Cada nó AG se parece com: