Translate

quarta-feira, 10 de abril de 2019

Unificar arquivos .MDF do SQL Server!

Recentemente atuei em um caso interessante, ao menos pra mim!

Um cliente me solicitou a migração de um ambiente de AX2012, isso obviamente inclui a migração do banco de dados.
Não sei por qual razão, mas no momento da criação o banco de dados foi criado com 08 arquivos de dados diferentes, todos eles com a extensão .MDF... E todos estes arquivos estavam armazenados no mesmo disco físico.

Ninguém soube me dizer o porque de este banco de dados ter sido criado desta forma... e o cliente não tinha a ideia de alocar cada arquivo em um disco físico diferente, então... porque ter tantos arquivos assim?

Resolvi então unificar todos eles em um unico .MDF... iniciei criando um banco de TESTE com 03 arquivos .MDF

E criei uma tabela simples com alguns registros...

Consultei os registros pra ter certeza de que foram criados:


Consultei a estrutura de banco pra saber se haviam registros em todos os 03 arquivos .MDF
Tendo certeza de que haviam registros em todos os arquivos comecei a remove-los um a um e verificando se os registros foram movidos do arquivo eliminado para o arquivo existente.
Primeiro removi o arquivo TESTE2.mdf.
Arquivo removido com sucesso, ao consultar os registros pude ver que todos ainda constavam no banco de dados e divididos entre os dois arquivos .MDF restantes. O próximo passo foi remover o arquivo TESTE1.mdf.

Agora meu banco de dados possui apenas 01 arquivos .mdf, consultando os registros vejo que todos os dados estão corretamente armazenados no banco, sem perda de dados. Conferindo a estrutura do banco confirmei que os demais arquivos foram removidos.

E com isso consegui eliminar os .MDF's desnecessários deste ambiente!

Após este trabalho em um banco de produção revise os índices para garantir o desempenho do banco de dados.

Não se esqueça de fazer um backup full de seu banco de dados antes de iniciar este trabalho!



Nenhum comentário:

Postar um comentário