Como restaurar arquivos de banco de dados do Microsoft SQL Server 2022 (MDF, LDF e BAK)
Neste artigo, examinaremos como recuperar arquivos de banco de dados do Microsoft SQL Server 2022. Mostraremos o que fazer se um banco de dados ou seus arquivos forem excluídos acidentalmente, bem como como usar um backup disponível para restaurar o banco de dados a um estado funcional.

- Recursos do SQL Server
- Como acessar os discos do servidor
- Como recuperar um banco de dados excluído do SQL Server 2022
- Conclusão
- Perguntas frequentes
- Comentários
Para recuperar os arquivos, usaremos o Hetman RAID Recovery. O programa pode localizar arquivos MDF, LDF e BAK em unidades físicas, matrizes RAID e discos dinâmicos, além de trabalhar com imagens de disco setor por setor. Os arquivos recuperados podem posteriormente ser usados para Restore ou Attach por meio do Microsoft SQL Server.
O Hetman RAID Recovery é compatível com Windows, Linux e macOS.
How to Recover a Deleted SQL Server 2022 Database | MDF, LDF & BAK
Recursos do SQL Server
Quais arquivos o Microsoft SQL Server usa e por que eles são importantes durante a recuperação:
- MDF – o arquivo principal do banco de dados. Ele contém a estrutura do banco de dados, tabelas, registros, índices e outros objetos. Este arquivo é a principal fonte de dados quando é necessário restaurar um banco de dados excluído no SQL Server.
- LDF – o arquivo de log de transações. O SQL Server registra nele as alterações do banco de dados. O log é usado para manter a consistência dos dados e é um componente importante ao anexar um banco de dados a partir de seus arquivos físicos.
- BAK – o arquivo de backup. Em nosso teste, este é um backup completo do banco de dados criado pelo SQL Server. Se esse arquivo estiver disponível e não estiver danificado, ele poderá ser usado para Restore sem a necessidade de anexar os arquivos MDF e LDF originais.
Portanto, o cenário de recuperação depende de quais arquivos foram preservados ou localizados:
- Se um arquivo BAK estiver disponível, o banco de dados será restaurado a partir do backup.
- Se não houver backup, mas os arquivos MDF e LDF tiverem sido recuperados, eles poderão ser usados para Attach, desde que os arquivos permaneçam legíveis e consistentes.
| Funcionalidade | Descrição |
|---|---|
| Modelo relacional de dados | O SQL Server armazena informações em tabelas relacionadas entre si por meio de chaves e restrições. |
| Linguagem de consulta T-SQL | Uma extensão do SQL usada para criar consultas, gerenciar dados, escrever procedimentos e executar operações administrativas. |
| Arquivos de banco de dados MDF e NDF | MDF é o arquivo principal de dados do banco de dados, e NDF é um arquivo adicional de dados. Eles contêm tabelas, índices e outros objetos do banco de dados. |
| Arquivo de log de transações LDF | Armazena registros de transações e alterações no banco de dados. O log é usado para recuperação de falhas e consistência dos dados. |
| Backup e restauração | O SQL Server oferece suporte a backups completos, diferenciais e de log de transações, o que possibilita restaurar um banco de dados a um ponto específico no tempo com a configuração adequada. |
| Transações e ACID | Garantem atomicidade, consistência, isolamento e durabilidade das operações de dados. |
| Índices | Aceleram as pesquisas e a execução de consultas, mas podem ser corrompidos ou exigir reconstrução após determinadas falhas. |
| Mecanismos de controle de integridade | Chaves primárias e estrangeiras, restrições e verificações ajudam a manter a correção dos dados. |
| Modelos de recuperação | Os modelos de recuperação Simples, Completo e Bulk-logged determinam os recursos de backup do log de transações e as opções de recuperação do banco de dados. |
| Ferramentas de diagnóstico | O comando DBCC CHECKDB verifica a integridade lógica e física de um banco de dados e ajuda a identificar corrupção. |
Para os testes, preparamos o Windows Server 2022 com o Microsoft SQL Server 2022. O banco de dados TestDB está localizado em um Dynamic Spanned Volume com o sistema de arquivos NTFS. Ele contém tabelas, registros de clientes de teste e arquivos armazenados no campo VARBINARY(MAX). O arquivo MDF está armazenado no diretório SQLData, o arquivo de log LDF está em SQLLogs, e o backup completo TestDB_Full.bak está no diretório SQLBackup.
Como acessar os discos do servidor
MÉTODO 1. Conectar as unidades a uma estação de trabalho
Se os arquivos do SQL Server estiverem armazenados em um disco físico separado, ele poderá ser conectado a uma estação de trabalho por meio de um adaptador SATA, adaptador USB ou de uma estação dock.
Se o banco de dados estiver armazenado em um Dynamic Spanned Volume ou em outra configuração com vários discos, é preferível ter acesso a todas as unidades que faziam parte dele.
Se não for possível conectar todos os discos ao mesmo tempo, você pode criar imagens setor por setor deles. Para isso, no Hetman RAID Recovery, selecione a unidade física, inicie Salvar disco, especifique o local de salvamento e aguarde a conclusão do processo de cópia.

Depois disso, o disco pode ser desconectado e uma imagem da próxima unidade pode ser criada da mesma forma. Monte as imagens prontas por meio de Montar disco e use-as para análise juntamente com os discos físicos.

Essa abordagem também permite continuar trabalhando com cópias sem impor carga adicional às unidades de origem.

MÉTODO 2. Configurar o acesso SSH
Há outra maneira de acessar as unidades sem removê-las fisicamente. Se o Windows Server 2022 ainda estiver em execução e acessível pela rede, as unidades poderão ser conectadas ao Hetman RAID Recovery remotamente via SSH.
Para isso, configure antecipadamente o OpenSSH Server no Windows Server.

Inicie o serviço OpenSSH SSH Server – sshd – e, se necessário, configure-o para iniciar automaticamente.


Verifique também o acesso pela porta TCP 22 e certifique-se de que a conta usada para a conexão tenha as permissões necessárias para acessar as unidades do servidor.
Após configurar o servidor, abra o Hetman RAID Recovery. No menu superior, vá para Ferramentas e selecione Conectar via SSH.

No campo Servidor remoto, informe o endereço IP do Windows Server e, no campo Porta, informe 22. Abaixo, na seção Credenciais, selecione o método de autenticação necessário e informe o nome de usuário e a senha da conta. Se necessário, você pode ativar Salvar detalhes do servidor e Salvar dados de autenticação para não precisar inserir esses parâmetros novamente. Em seguida, clique em Avançar.

Após uma conexão bem-sucedida com o servidor, a próxima janela exibirá os discos físicos e matrizes lógicas disponíveis. Selecione as unidades que pertencem ao JBOD necessário e continue.

Após a confirmação, elas aparecerão na janela principal do Hetman RAID Recovery, onde poderão ser utilizadas da mesma forma que unidades conectadas localmente.
Preste atenção ao equipamento de rede. Como as operações com as unidades são realizadas pela rede, para uma conexão estável e confortável é preferível que a estação de trabalho, o Windows Server e a rede local suportem velocidades de transferência de dados de 1 Gbps ou superiores. Isso ajudará a acelerar a análise da unidade e a transferência dos arquivos recuperados.
Este método é especialmente conveniente se o servidor ainda estiver em execução e a remoção física e a conexão de um grande número de unidades a outro computador forem indesejáveis ou difíceis.
Como recuperar um banco de dados excluído do SQL Server 2022
MÉTODO 1. Restaurando um banco de dados a partir de um arquivo BAK
Vamos passar para o primeiro cenário. Nesse caso, o arquivo de backup completo TestDB_Full.bak está disponível após a recuperação e pode ser usado para restaurar o banco de dados.
Abra o Microsoft SQL Server Management Studio e conecte-se à instância necessária do SQL Server.

Na árvore do Object Explorer, abra o menu de contexto de Databases e selecione Restore Database.

Como origem, selecione Device, especifique o arquivo TestDB_Full.bak e verifique se o SQL Server identificou corretamente o backup.

Para evitar alterar o banco de dados original TestDB, restaure-o com um nome separado, TestDB_Restored.

Nas configurações de restauração, especifique nomes e caminhos separados para os arquivos físicos do banco de dados, para que não entrem em conflito com os arquivos do TestDB original. Para a nova instância, use TestDB_Restored.mdf e TestDB_Restored_log.ldf.

Inicie o Restore e aguarde a conclusão da operação. Após uma restauração bem-sucedida, o banco de dados TestDB_Restored aparece no Object Explorer.

Abra-o e verifique as tabelas e os registros. Certifique-se também de que os dados armazenados no campo VARBINARY(MAX) estejam disponíveis. Dessa forma, verificamos não apenas a criação do banco de dados, mas também a disponibilidade do seu conteúdo após a restauração a partir do arquivo BAK.

MÉTODO 2. Restaurando um banco de dados excluído
No caso seguinte, o banco de dados TestDB_Restored foi excluído acidentalmente e não é mais exibido no Microsoft SQL Server Management Studio. Seus arquivos físicos TestDB_Restored.mdf e TestDB_Restored_log.ldf também ficaram indisponíveis.
O próprio Dynamic Spanned Volume permanece acessível, portanto não é necessário reconstruir o JBOD novamente.

Abra o Hetman RAID Recovery, selecione o volume lógico NTFS onde os arquivos do SQL Server estavam localizados e inicie uma Varredura rápida.

Após a conclusão da análise, vá até os diretórios onde os arquivos MDF e LDF estavam armazenados e verifique os resultados. Localize os arquivos excluídos TestDB_Restored.mdf e TestDB_Restored_log.ldf, e observe seus nomes, tamanho e localização.


Se a Varredura rápida não encontrar os arquivos necessários ou se o resultado estiver incompleto, volte à seleção do modo de análise e inicie a Varredura completa. Ela realiza uma análise mais profunda do NTFS e pode encontrar mais dados excluídos.
Depois que os arquivos MDF e LDF necessários forem encontrados, adicione-os à lista de recuperação e salve-os em outro disco físico.

Não é recomendável recuperar os arquivos de volta para o Dynamic Spanned Volume original, pois novas gravações podem sobrescrever outros dados que ainda poderiam ser recuperados.
Após recuperar os arquivos físicos, volte ao Microsoft SQL Server Management Studio. No menu de contexto de Databases, selecione Attach.

Adicione o TestDB_Restored.mdf recuperado e verifique se o SQL Server reconhece o arquivo de log associado TestDB_Restored_log.ldf.

Se ambos os arquivos permanecerem legíveis e consistentes, execute o Attach. Após o anexo, o banco de dados aparece novamente na lista do SQL Server.

Abra as tabelas e verifique os registros. Além disso, verifique a disponibilidade dos dados VARBINARY(MAX) usados no banco de dados de teste. Se a estrutura, os registros e os arquivos armazenados estiverem disponíveis, a recuperação pode ser considerada bem-sucedida.

Conclusão
Analisamos dois cenários principais para trabalhar com arquivos de banco de dados do Microsoft SQL Server 2022:
- No primeiro caso, o arquivo de backup BAK disponível foi usado para restaurar o banco de dados com Restore.
- No segundo caso, após a exclusão do banco de dados, seus arquivos físicos MDF e LDF foram encontrados e recuperados usando o Hetman RAID Recovery, após o que foram anexados novamente ao SQL Server via Attach.
Hetman RAID Recovery permite trabalhar com unidades físicas, imagens setor por setor e discos remotos via SSH, além de oferecer suporte ao Windows, Linux e macOS. Isso possibilita organizar a recuperação mesmo quando os arquivos do SQL Server estão armazenados em configurações com vários discos ou quando é inconveniente remover as unidades do servidor e conectá-las a outro computador.







