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.

Cómo restaurar archivos de base de datos de Microsoft SQL Server 2022 (MDF, LDF y BAK)

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.

Para recuperar datos de matrices RAID dañadas, dispositivos NAS y otros sistemas de almacenamiento multidisco.
Ir a ver
Cómo recuperar una base de datos SQL Server 2022 eliminada | MDF, LDF y BAK

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.

Hetman RAID Recovery: creando una imagen de una unidad física

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.

Hetman RAID Recovery: montando una imagen de una unidad física

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

Hetman RAID Recovery: imagen de unidad física montada

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.

Windows Server 2022: instalación de OpenSSH Server

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

Windows Server 2022: inicio del servicio OpenSSH SSH Server
Windows Server 2022: habilitación del inicio automático de OpenSSH SSH Server

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.

Hetman RAID Recovery: Tools - 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.

Hetman RAID Recovery: conexión al servidor remoto

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.

Hetman RAID Recovery: conectando al servidor remoto

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.

Windows Server 2022: conexión a la instancia requerida de SQL Server

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

Windows Server 2022: Databases - Restore Database

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

Windows Server 2022: Device - TestDB_Full.bak

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

Windows Server 2022: cambio de nombre de la base de datos a 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.

Windows Server 2022: 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.

Windows Server 2022: Object Explorer - TestDB_Restored

Á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.

Windows Server 2022: verificación de tablas y registros en TestDB_Restored

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.

Windows Server 2022: TestDB_Restored no se muestra en Microsoft SQL Server

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

Hetman RAID Recovery: 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.

Hetman RAID Recovery: TestDB_Restored.mdf
Hetman RAID Recovery: TestDB_Restored_log.ldf

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.

Hetman RAID Recovery: guardado de TestDB_Restored_log.ldf recuperado

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.

Windows Server 2022: Databases - Attach

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

Windows Server 2022: agregando el archivo recuperado TestDB_Restored.mdf

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.

Windows Server 2022: SQL Server detecta el archivo de registro asociado TestDB_Restored_log.ldf

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.

Windows Server 2022: apertura de tablas y verificación de registros

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.

Raidel Arbelay Becerra

Autor: , Escritor técnico

Raidel Arbelay Becerra es un escritor técnico de Hetman Software y la voz y la cara del canal de YouTube de Hetman Software: Recuperación de datos. Escribe artículos, tutoriales y reseñas en profundidad sobre el funcionamiento del software de la empresa con todo tipo de dispositivos de almacenamiento.

Angel Villares

Editor: , Escritor técnico

Ángel Villares es autor y uno de los ingenieros informáticos de Hetman Software. Cuenta con casi 10 años de experiencia en el campo de la informática: administración y configuración de servidores, instalación de sistemas operativos y de diferentes programas informáticos, configuración de redes, seguridad de la información, implantación y asesoramiento en el uso de software especializado. Es un experto en el campo de la recuperación de datos, sistemas de archivos, dispositivos de almacenamiento y matrices RAID.

Recomendado para ti