Cómo restaurar archivos de base de datos de Microsoft SQL Server 2022 (MDF, LDF y BAK)
En este artículo, examinaremos cómo recuperar archivos de bases de datos de Microsoft SQL Server 2022. Mostraremos qué hacer si una base de datos o sus archivos se eliminan accidentalmente, así como cómo usar una copia de seguridad disponible para devolver la base de datos a un estado operativo.

- Características de SQL Server
- Cómo acceder a los discos del servidor
- Cómo recuperar una base de datos eliminada de SQL Server 2022
- Conclusión
- Preguntas frecuentes
- Comentarios
Para recuperar los archivos, utilizaremos Hetman RAID Recovery. El programa puede localizar archivos MDF, LDF y BAK en unidades físicas, matrices RAID y discos dinámicos, así como trabajar con imágenes de disco sector por sector. Posteriormente, los archivos recuperados pueden utilizarse para Restore o Attach mediante Microsoft SQL Server.
Hetman RAID Recovery es compatible con Windows, Linux y macOS.
Cómo recuperar una base de datos SQL Server 2022 eliminada | MDF, LDF y BAK
Características de SQL Server
Qué archivos utiliza Microsoft SQL Server y por qué son importantes durante la recuperación:
- MDF: el archivo principal de la base de datos. Contiene la estructura de la base de datos, tablas, registros, índices y otros objetos. Este archivo es la principal fuente de datos cuando es necesario restaurar una base de datos eliminada en SQL Server.
- LDF: el archivo de registro de transacciones. SQL Server registra en él los cambios de la base de datos. El registro se utiliza para mantener la coherencia de los datos y es un componente importante al adjuntar una base de datos a partir de sus archivos físicos.
- BAK: el archivo de copia de seguridad. En nuestra prueba, se trata de una copia de seguridad completa de la base de datos creada por SQL Server. Si este archivo está disponible y no está dañado, puede utilizarse para Restore sin necesidad de adjuntar los archivos MDF y LDF originales.
Por lo tanto, el escenario de recuperación depende de qué archivos se hayan conservado o encontrado:
- Si hay un archivo BAK disponible, la base de datos se restaura desde la copia de seguridad.
- Si no hay copia de seguridad, pero se han recuperado los archivos MDF y LDF, pueden utilizarse para Attach, siempre que los archivos sigan siendo legibles y coherentes.
| Característica | Descripción |
|---|---|
| Modelo relacional de datos | SQL Server almacena la información en tablas relacionadas entre sí mediante claves y restricciones. |
| Lenguaje de consultas T-SQL | Una extensión de SQL utilizada para crear consultas, administrar datos, escribir procedimientos y realizar operaciones administrativas. |
| Archivos de base de datos MDF y NDF | MDF es el archivo principal de datos de la base de datos, y NDF es un archivo de datos adicional. Contienen tablas, índices y otros objetos de la base de datos. |
| Archivo de registro de transacciones LDF | Almacena registros de transacciones y cambios en la base de datos. El registro se utiliza para la recuperación tras fallos y para garantizar la coherencia de los datos. |
| Copia de seguridad y restauración | SQL Server admite copias de seguridad completas, diferenciales y del registro de transacciones, lo que permite restaurar una base de datos a un punto específico en el tiempo con la configuración adecuada. |
| Transacciones y ACID | Garantizan la atomicidad, la coherencia, el aislamiento y la durabilidad de las operaciones de datos. |
| Índices | Aceleran las búsquedas y la ejecución de consultas, pero pueden dañarse o requerir reconstrucción después de ciertos fallos. |
| Mecanismos de control de integridad | Las claves primarias y externas, las restricciones y las comprobaciones ayudan a mantener la exactitud de los datos. |
| Modelos de recuperación | Los modelos de recuperación Simple, Full y Bulk-logged determinan las capacidades de copia de seguridad del registro de transacciones y las opciones de recuperación de la base de datos. |
| Herramientas de diagnóstico | El comando DBCC CHECKDB comprueba la integridad lógica y física de una base de datos y ayuda a identificar daños. |
Para las pruebas, preparamos Windows Server 2022 con Microsoft SQL Server 2022. La base de datos TestDB se encuentra en un Dynamic Spanned Volume con el sistema de archivos NTFS. Contiene tablas, registros de clientes de prueba y archivos almacenados en el campo VARBINARY(MAX). El archivo MDF está almacenado en el directorio SQLData, el archivo de registro LDF se encuentra en SQLLogs, y la copia de seguridad completa TestDB_Full.bak está en el directorio SQLBackup.
Cómo acceder a los discos del servidor
MÉTODO 1. Conectar las unidades a una estación de trabajo
Si los archivos de SQL Server se almacenan en un disco físico independiente, este puede conectarse a una estación de trabajo mediante un adaptador SATA, un adaptador USB o una estación de acoplamiento.
Si la base de datos se almacenaba en un Dynamic Spanned Volume u otra configuración multidisco, es preferible tener acceso a todas las unidades que formaban parte de ella.
Si no es posible conectar todos los discos al mismo tiempo, puede crear imágenes sector por sector de ellos. Para hacerlo en Hetman RAID Recovery, seleccione la unidad física, inicie Save disk, especifique la ubicación de guardado y espere a que finalice el proceso de copia.

Después de eso, el disco puede desconectarse y puede crearse de la misma manera una imagen de la siguiente unidad. Monte las imágenes ya preparadas mediante Mount disk y utilícelas para el análisis junto con los discos físicos.

Este enfoque también permite seguir trabajando con copias sin ejercer carga adicional sobre las unidades de origen.

MÉTODO 2. Configurar acceso SSH
Existe otra forma de acceder a las unidades sin retirarlas físicamente. Si Windows Server 2022 sigue en ejecución y es accesible a través de la red, las unidades pueden conectarse a Hetman RAID Recovery de forma remota mediante SSH.
Para ello, configure previamente OpenSSH Server en Windows Server.

Inicie el servicio OpenSSH SSH Server – sshd – y, si es necesario, configúrelo para que se inicie automáticamente.


Verifique también el acceso a través del puerto TCP 22 y asegúrese de que la cuenta utilizada para la conexión tenga los permisos necesarios para acceder a las unidades del servidor.
Después de configurar el servidor, abra Hetman RAID Recovery. En el menú superior, vaya a Tools y seleccione Connect via SSH.

En el campo Remote server, introduzca la dirección IP del Windows Server, y en el campo Port, introduzca 22. Debajo, en la sección Credentials, seleccione el método de autenticación requerido e introduzca el nombre de usuario y la contraseña de la cuenta. Si es necesario, puede habilitar Save server details y Save authentication data para no tener que volver a introducir estos parámetros. A continuación, haga clic en Next.

Después de una conexión correcta al servidor, la siguiente ventana mostrará los discos físicos y matrices lógicas disponibles. Seleccione las unidades que pertenecen al JBOD requerido y continúe.

Tras la confirmación, aparecerán en la ventana principal de Hetman RAID Recovery, donde podrán utilizarse del mismo modo que las unidades conectadas localmente.
Preste atención al equipo de red. Dado que las operaciones con las unidades se realizan a través de la red, para una conexión estable y cómoda es preferible que la estación de trabajo, Windows Server y la red local admitan velocidades de transferencia de datos de 1 Gbps o superiores. Esto ayudará a acelerar el análisis de las unidades y la transferencia de los archivos recuperados.
Este método es especialmente conveniente si el servidor sigue en funcionamiento y no resulta deseable o es difícil retirar físicamente y conectar a otro equipo una gran cantidad de unidades.
Cómo recuperar una base de datos eliminada de SQL Server 2022
MÉTODO 1. Restaurar una base de datos desde un archivo BAK
Pasemos al primer escenario. En este caso, el archivo de copia de seguridad completa TestDB_Full.bak está disponible tras la recuperación y puede utilizarse para restaurar la base de datos.
Abra Microsoft SQL Server Management Studio y conéctese a la instancia requerida de SQL Server.

En el árbol de Object Explorer, abra el menú contextual de Databases y seleccione Restore Database.

Como origen, seleccione Device, especifique el archivo TestDB_Full.bak y verifique que SQL Server haya identificado correctamente la copia de seguridad.

Para evitar modificar la base de datos original TestDB, restáurela con un nombre distinto, TestDB_Restored.

En la configuración de restauración, especifique nombres y rutas independientes para los archivos físicos de la base de datos para que no entren en conflicto con los archivos de la base de datos original TestDB. Para la nueva instancia, utilice TestDB_Restored.mdf y TestDB_Restored_log.ldf.

Inicie Restore y espere a que finalice la operación. Después de una restauración correcta, la base de datos TestDB_Restored aparecerá en Object Explorer.

Ábrala y verifique las tablas y los registros. Asegúrese también de que los datos almacenados en el campo VARBINARY(MAX) estén disponibles. De este modo, comprobamos no solo la creación de la base de datos, sino también la disponibilidad de su contenido después de la restauración desde el archivo BAK.

MÉTODO 2. Restaurar una base de datos eliminada
En el siguiente caso, la base de datos TestDB_Restored se eliminó accidentalmente y ya no se muestra en Microsoft SQL Server Management Studio. Sus archivos físicos TestDB_Restored.mdf y TestDB_Restored_log.ldf también quedaron no disponibles.
Sin embargo, el propio Dynamic Spanned Volume sigue siendo accesible, por lo que no es necesario reconstruir nuevamente el JBOD.

Abra Hetman RAID Recovery, seleccione el volumen lógico NTFS donde se encontraban los archivos de SQL Server e inicie un Fast scan.

Una vez completado el análisis, vaya a los directorios donde se almacenaban los archivos MDF y LDF y revise los resultados. Busque los archivos eliminados TestDB_Restored.mdf y TestDB_Restored_log.ldf, y anote sus nombres, tamaño y ubicación.


Si Fast scan no encuentra los archivos necesarios o el resultado es incompleto, vuelva a la selección del modo de análisis e inicie Full scan. Realiza un análisis más profundo de NTFS y puede encontrar más datos eliminados.
Una vez encontrados los archivos MDF y LDF necesarios, agréguelos a la lista de recuperación y guárdelos en otra unidad física.

No se recomienda recuperar los archivos de vuelta al Dynamic Spanned Volume original, ya que las nuevas escrituras pueden sobrescribir otros datos que todavía podrían recuperarse.
Después de recuperar los archivos físicos, vuelva a Microsoft SQL Server Management Studio. En el menú contextual de Databases, seleccione Attach.

Agregue el archivo recuperado TestDB_Restored.mdf y verifique que SQL Server detecte el archivo de registro asociado TestDB_Restored_log.ldf.

Si ambos archivos siguen siendo legibles y coherentes, realice Attach. Después de adjuntarla, la base de datos volverá a aparecer en la lista de SQL Server.

Abra las tablas y verifique los registros. Además, compruebe la disponibilidad de los datos VARBINARY(MAX) utilizados en la base de datos de prueba. Si la estructura, los registros y los archivos almacenados están disponibles, la recuperación puede considerarse exitosa.

Conclusión
Hemos examinado dos escenarios principales para trabajar con archivos de bases de datos de Microsoft SQL Server 2022:
- En el primer caso, se utilizó el archivo de copia de seguridad BAK disponible para restaurar la base de datos con Restore.
- En el segundo caso, después de eliminar la base de datos, se localizaron y recuperaron sus archivos físicos MDF y LDF mediante Hetman RAID Recovery, tras lo cual se volvieron a adjuntar a SQL Server mediante Attach.
Hetman RAID Recovery permite trabajar con unidades físicas, imágenes sector por sector y discos remotos a través de SSH, y también es compatible con Windows, Linux y macOS. Esto hace posible organizar la recuperación incluso cuando los archivos de SQL Server se almacenan en configuraciones multidisco o cuando resulta inconveniente retirar las unidades del servidor y conectarlas a otro equipo.



