Renomeando arquivos de banco de dados no SQL Server

Renomear arquivos de bancos de dados no SQL Server não é como renomear um arquivo .DOCX do Word. Alguns procedimentos precisam ser seguidos para preservar a integridade do banco de dados. Abaixo descrevo como eu realizo tais procedimentos.

Primeiramente, no SQL Server Management Studio, renomeio o banco de dados desejado diretamente no Object Explorer, utilizando o menu de contexto, conforme figura 1.

Figura 1. Renomeando o banco de dados no Object Explorer do SSMS.

Após a execução do comando, o banco de dados deverá ser exibido com o novo nome, conforme figura 2.

Figura 2. Banco de dados renomeado no Object Explorer do SSMS.

Se isso fosse o bastante seria bom demais. Mas não é assim que funciona (a não ser que você não se importe em ter um nome físico do arquivo de banco de dados diferente do nome apresentado no Object Explorer, o que não é o meu caso). Meu desejo é ter o mesmo nome do banco de dados, tanto lógica como fisicamente, então o primeiro passo já foi feito. Vamos em frente!

Antes, porém, vou mostrar que apenas o procedimento acima não foi o bastante resolver a questão. Para isso, novamente no Object Explorer, utilizo o menu de contexto para exibir as propriedades do banco de dados que acabei de renomear, conforme figura 3.

Figura 3. Exibindo as propriedades do banco de dados no SSMS.

A janela de propriedades do banco de dados é apresentada. Clique na opção Files e preste atenção aos detalhes na figura 4.

Figura 4. Database Properties.

Mesmo indicando que as propriedades são do banco de dados renomeado para NOVO_NOME, as propriedades Logical Name e File Name permanecem como antes: NOME_ATUAL.

Depois de muito pesquisar, encontrei uma dica na Internet num post de 2009 do blog dba-sqlserver.blogspot.com e foi dessa dica que consegui resolver o meu problema e publicar este post.

💡 Dica: O script abaixo exibe os nomes lógico e físico do banco de dados.

Figura 5. Script para mostrar os nomes lógico e físico do banco de dados.

Repare que mesmo já tendo alterado o nome do banco de dados para NOVO_NOME, via Object Explorer, o resultado da execução do script acima mostra que os nomes lógico e físico ainda se mantêm como antes.

Figura 6. Resultado da execução do script para mostrar os nomes lógico e físico do banco de dados.

Partindo para a resolução do problema, os procedimentos, a partir deste ponto, são divididos em três fases: 

Fase 1 – Execução do script abaixo.

Figura 7. Script para definir novos nomes para os arquivos de dados e log do banco de dados.

Fase 2 – Renomeação dos arquivos .MDF e .LDF usando os comandos para renomear arquivos do Windows, via Windows Explorer ou Prompt de Comando.  

Fase 3 – Execução do script abaixo.

Figura 8. Script para reativar o banco de dados após renomeados os arquivos físicos.

Pronto! Se tudo ocorreu bem, ao executar novamente o script da figura 5 o resultado final deverá ser mostrado conforme imagem abaixo.

Figura 9. Resultado final mostrando os arquivos devidamente renomeados.

Este foi meu primeiro post sobre minha experiência como DBA usando o SQL Server. Que seja o primeiro de muitos outros que possam agregar conhecimento a respeito deste fantástico sistema gerenciador de bancos de dados.