¿Cómo puedo adjuntar una base de datos sin un archivo LDF en SQL Server?¿Cómo adjuntar una base de datos sin un archivo LDF?
Respuesta
Puede usar sp_attach_single_file_db para adjuntar una base de datos a la que le falta su archivo de registro.
Proporciona este error: No se pudo abrir la nueva base de datos 'SharedCS'. CREATE DATABASE está abortado. Error de activación del dispositivo. El nombre de archivo físico 'd: \ Archivos de programa \ Microsoft SQL Server \ MSSQL \ data \ dummy_Log.LDF' puede ser incorrecto. – Ricardo
No intente adjuntar un registro falso. ¿Puedes publicar el comando sp_attach_single_file_db que estás ejecutando? –
Esto solo funciona si el archivo de registro puede crearse nuevamente donde dice .mdf. – Joshua
Puedes "simplemente hacerlo", lanzará una advertencia de que no pudo encontrar el .ldf, pero aún así adjuntará el db.
Da un error y la base de datos no está adjunta. – Ricardo
Puede probar lo que se publica here por MohammedU. Básicamente, qué usa el comando DBCC REBUILD_LOG. Funcionará según la versión de tu servidor.
Éstos son los pasos (sin detalles):
- cambiar el nombre de archivo .mdf existente para .mdf_old
- Crear una nueva base de datos con mismo .mdf y el archivo .ldf tan antigua.
- Detener el servidor SQL
- Renombrar archivos .mdf y .ldf de la nueva db a .mdf_old y .ldf_old
- Renombrar .mdf_old a .MDF
- de inicio del servidor SQL
- Debe ver en db modo sospechoso
- Cambie el contexto de la base de datos a Maestro y permita actualizaciones a las tablas del sistema
- Establezca la base de datos en el modo de emergencia (recuperación de derivación).
- Detener y reiniciar el servidor SQL.
- Reconstruye el registro.
- Establezca la base de datos en modo de usuario único y ejecute DBCC CHECKDB para validar la coherencia física.
- Desactive las actualizaciones de las tablas del sistema.
¿Cómo hago los pasos del 8 al 13? –
Si tiene problemas, verifique que el archivo mdf no sea de solo lectura.
EXEC sp_attach_single_file_db @dbname = 'DBNAME',@physname = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\DBNAME_Data.mdf';
Lo intenté y funcionó ... Espero que esto ayude.
probar este pasos a través de SQL Server Management Studio
- Abiertas SSMS e hizo un clic derecho sobre bases de datos.
- Seleccione Adjuntar opción
- Luego haga clic en agregar para adjuntar archivo MDF.
- Seleccione el archivo de la lista y haga clic en OK
- Ahora la pantalla muestra el archivo MDF y LDF archivo (No encontrado)
- elegir el archivo LDF y haga clic en la opción Quitar.
- Después de eliminar el archivo LDF, haga clic en Aceptar.
- Archivo MDF conectado correctamente en la lista de bases de datos.
Esto no funciona para mí. ¿Puedes sugerir otra solución? –
aquí hay un excelente artículo sobre [cómo adjuntar mdf sin ldf] (http: //www.sqlserverlogexplorer.com/how-to-attach-mdf-file-without-ldf-file /) –
Intente adjuntarlo agregando el archivo MDF al cuadro de diálogo Adjuntar bases de datos. Notará que el diálogo informará el archivo LDF que falta.Siga los pasos como se muestra en la imagen:
En SQL Server 2012 no funcionará. Lo intenté. –
Funciona para mí en 2012 express – Juan
Éstos son fragmentos de código para crear archivos .ldf programaticaly
A continuación se presentan 3 métodos.
Método -1
En mi caso tengo mi base de datos en la carpeta DATA.
Usted puede obtener la ruta completa a su base de datos haciendo clic derecho y luego ir a las propiedades continuación, puede copiar la ruta completa a la base de datos
como en mi camino caso es el siguiente.
C: \ Archivos de programa \ Microsoft SQL Server \ MSSQL11.DRIBBLEE \ MSSQL \ DATA
Ahora aquí es el primer método utilizando procedimiento de almacenamiento (sp_attach_single_file_db) y haciéndola pasar argumentos (nombre de la base de datos y la ruta física)
USE [master]
GO
EXECUTE sp_attach_single_file_db
@dbname='AdventureWorksDW_2012',
@physname=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL11.DRIBBLEE\MSSQL\DATA\AdventureWorksDW2012_Data.mdf'
GO
ejecute el código que después de ejecutar el código vaya a la carpeta de la base de datos donde reside, verá el archivo .ldf creado allí.
Sin embargo obtendrá siguiente mensaje en su
The physical file name "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\AdventureWorksDW2012_log.ldf" may be incorrect.
New log file 'C:\Program Files\Microsoft SQL Server\MSSQL11.DRIBBLEE\MSSQL\DATA\AdventureWorksDW_2012_log.ldf' was created.
Ahora se puede conectar la base de datos y después de instalarla en la base de datos, haga clic derecho en el nombre del servidor en el Explorador de objetos y refrescar.
Método-2
de datos si ésta tiene uno o más archivos de registro que faltan permite utilizar las siguientes
CREATE DATABASE db_namehere ON
(
FILENAME=N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\db_namehere.mdf')
FOR ATTACH_REBUILD_LOG
GO
Método-3
Si la base de datos tiene un solo registro error de archivo puede usar este
CREATE DATABASE db_name ON
(FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\TestDb.mdf')
FOR ATTACH
GO
Además, puede leer en LIBROS en línea para obtener más información.
- 1. Cómo adjuntar una base de datos MSSQL 2000 con solo un archivo MDF
- 2. Intento de adjuntar una base de datos autodenominada Error
- 3. Cómo eliminar el archivo .ldf de SQL Server 2008?
- 4. ¿Pregunta en MSSQL que devuelve .mdf y .ldf filename/location para una base de datos específica?
- 5. Intento adjuntar una base de datos autodenominada para archivo .mdf fallida
- 6. Administrar el crecimiento del archivo .LDF de SQL Server
- 7. Adjuntar datos a un campo de base de datos MySQL que ya tiene datos
- 8. Adjuntar un archivo txt en
- 9. Cómo adjuntar una base de datos SQL Server desde la línea de comando
- 10. CodeIgniter sin una base de datos?
- 11. ¿Cómo puedo adjuntar un objeto de Entity Framework que no es de la base de datos?
- 12. Base de datos C# en un archivo
- 13. ¿Qué es el archivo LDF en SQL Server?
- 14. ¿Cómo importar una base de datos Oracle desde un archivo dmp y un archivo de registro?
- 15. Ruta a un archivo sin nombre base
- 16. Adjuntar a un archivo de imagen
- 17. Configuración en un archivo o una base de datos?
- 18. ¿Cómo adjuntar un DataPoint con una Teoría?
- 19. Android: ¿es posible adjuntar un archivo al correo electrónico sin escribir en SD?
- 20. Eliminar (fusionar) Archivo de datos secundarios de la base de datos SQL Servers
- 21. Cómo adjuntar un archivo a un correo electrónico con PowerShell
- 22. cómo leer un archivo subido por el usuario, sin guardarlo en la base de datos
- 23. Cómo cargar datos de un archivo de texto en una base de datos PostgreSQL?
- 24. Adjuntar TimeStamp a un nombre de archivo
- 25. Adjuntar al final de un archivo con NSMutableString
- 26. Tratando de separar adjuntar la base de datos - configuración de acceso db después
- 27. cómo crear un modelo yii sin una tabla de base de datos
- 28. ¿Cómo insertar un archivo en la base de datos MySQL?
- 29. Entity Framework sin base de datos
- 30. copiar una base de datos dentro de SQL Server Express?
Solo tiene que agregar que puede obtener una base de datos inconsistente haciendo esto. Es mucho mejor adjuntarlo con el LDF original. Consulte https://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/15/632398.aspx –