Solucionar el error 5173 de la base de datos SQL – Error al adjuntar la base de datos para el servidor
Introducción
Tuve un colega con problemas para adjuntar una base de datos del servidor SQL el cual mostraba el error 5173 de SQL:
Error 5173: no se pueden asociar archivos con diferentes bases de datos.
No se pudo adjuntar la base de datos para el servidor Serv4567′. (Microsoft.SqlServer.Smo)
Información adicional:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
One or more files do not match the primary file of the database. If you are attempting to attach a database, retry the operation with the correct files. If this is an existing database, the file may be corrupted and should be restored from a backup.
CREATE DATABASE failed. Some file names listed could not be created. Check related errors. (Microsoft SQL Server, Error: 5173)
Este archivo de base de datos propenso a errores era realmente una base de datos de marketing importante y los clientes se quejaban porque no podían acceder a la base de datos que mi colega intentaba migrar a un nuevo servidor con más RAM, un buen servidor de clúster y discos duros potentes. Este es un famoso error de conexión que puede ocurrir en una base de datos.
En este artículo, mostraremos cómo resolver el problema relacionado con el error 5173 en el servidor SQL.
Requisitos
Los siguientes requisitos le ayudarán a seguir este artículo:
- Este artículo usará el servidor SQL en cualquier versión.
- Finalmente, necesitará SQL Server Management Studio.
Inicio
Aquí comprobaremos las diferentes soluciones disponibles —
En bases de datos tenemos 3 tipos diferentes de archivos para el servidor SQL:
- El archivo de datos primario con extensión .MDF es el archivo principal y contiene los datos.
- El archivo de datos secundario (.NDF) no se crea de manera predeterminada, pero se puede crear si desea separar los datos en diferentes discos duros por razones de seguridad y rendimiento.
- El archivo de registro (.LDF) almacena la información de registro. Se utiliza para recuperar la base de datos. Es posible recuperar los datos a un tiempo específico.
El procedimiento almacenado del sistema sp_helpfile muestra todos los archivos en una base de datos específica. Mostrará el tamaño, la ruta, el grupo de archivos y la identificación.
El problema generalmente es que el archivo mdf no tiene la misma fecha que el archivo .LDF. Por ejemplo, cuando un archivo mdf del June 2 intenta ser restaurado usando el archivo ldf del June 3.
Una posible solución
Si su archivo de datos primario no coincide con el archivo de registro y su archivo de datos primario está dañado, puede hacer lo siguiente:
- Verifique que el archivo primario pertenece al archivo de registro. Algunas veces está adjuntando el archivo de registro incorrecto con el archivo primario.
- Recupere el archivo de datos primario dañado usando Stellar Repair for MS SQL para reparar el archivo primario y secundario corrupto de la base de datos SQL.
Puedes descargar el software aquí:
El software Stellar Repair for MS SQL restaura su archivo .MDF, detecta los objetos de la base de datos del servidor SQL y puede exportar los datos al servidor SQL (MDF), Excel, CSV, HTML.
El software requiere que se detenga el servicio MS SQL antes de iniciar el proceso de recuperación de la base de datos SQL. Puede restaurar el archivo .MDF en cualquier máquina con o sin el servidor MS SQL.
Reconstruir el archivo de registro
Una vez recuperado, si tiene el error 5173 y no puede encontrar el archivo de registro correcto (.LDF), es posible reconstruir un archivo .LDF para el archivo .MDF restaurado. El siguiente código T-SQL lo ayudará a reconstruir el archivo de registro para el archivo .MDF:
CREATE DATABASE yourdatabase
ON (FILENAME = 'c:\yourPrimaryFile_Data.mdf')
FOR ATTACH_REBUILD_LOG ;
El código creará una base de datos basada en el archivo mdf y generará un nuevo archivo de registro para el archivo mdf. Para attach_rebuild_log crea un nuevo registro para usted.
Conclusión
El error 5173 en el servidor Microsoft SQL está relacionado con un problema con el archivo de datos primario y el archivo de registro. Debido a algún accidente, los archivos no coinciden y la base de datos SQL asume que los archivos pertenecen a diferentes bases de datos.
Si el archivo de datos primario está dañado, puede usar Stellar Repair for MS SQL. Este software puede reparar una base de datos corrupta usando un software simple para eso. Una vez reparado (si es necesario), puede reconstruir el archivo de registro utilizando la oración crear base de datos y usar para attach_rebuild_log. Esta opción generará un nuevo registro para usted