SQL Server Performance

Restaurar mdf de un dispositivo

Discussion in 'Preguntas sobre SQL Server en Español.' started by cizq, Oct 14, 2005.

  1. cizq New Member

    Hola a todos, soy nuevo en esto de los forums, espero expresarme correctame.

    Mi duda es la siguiente:
    Tengo una copia de seguridad completa en un fichero de dispositivo, de una base de datos con un solo fichero de datos, y un fichero de log.
    El fichero de Log completo ocupa 17Gb, esto se debe, a que el modelo de recuperación esta configurado como completo, cuando se realizó la copia de seguridad.

    Mi inteción es restaurar unicamente el fichero mdf, sin el del log.
    Lo he intentado con varias combinaciones del comando RESTORE, pero en todas me solicita el fichero de log del dispositivo.

    Si alguien me puede indicar si se puede realizar y como, se lo agradecería.

    Un saludo a todos.
  2. suleman New Member

    wat language is this ...can u plz write in english... or wud appreciate if somebody lemme understand this...

    Regards
    Suleman
    Hyderabad
  3. Luis Martin Moderator

    La única forma es que hagas un Dettach de la base y luego un Attach. En el momento del attach, destildas el log y te creará uno nuevo vacío.
    Puedes usar el Administrador Coorporativo para ello.

    Suleman:

    This is an Spanish Forum, so members write in spanish.


    Luis Martin
    Moderator
    SQL-Server-Performance.com

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important
    Bertrand Russell


    All postings are provided “AS IS” with no warranties for accuracy.



  4. cizq New Member

    Ante todo gracias por la respuesta Luis.

    Entonces no se puede restaurar solo el mdf desde un fichero BAK, de copia de seguridad. Tengo que crear primero el fichero adjunto del log de 17 GB, y después realizar un sp_detach_db, borrar el fichero de log y después voler a realizar el sp_attach_single_file_db.

    Mi intención era evitar la creación de un fichero de log tan mostruoso la primera vez.
    Estaba intentando utlizar sentencias como esta para la recuperación:

    --Visualizar los ficheros lógicos del backup
    RESTORE FILELISTONLY FROM DISK ='E:BasesSQLBackupPRUEBA_db_200510060200.BAK'
    --Intento de recuperación (Falla, porque solicita el log del bak, que no quiero utilizar)
    RESTORE DATABASE PRUEBA
    FROM DISK = 'E:BasesSQLBackupPRUEBA_db_200510060200.BAK'
    WITH MOVE 'PRUEBA' TO 'E:BasesSQLPRUEBA.mdf'

    Muchas gracias por la respuesta y por el interes.
    Un saludo.
  5. The Pipo New Member

    Amigo cizq en mi experiencia siempre que levante un BAK me pidio el log.

    Lo que dice LUIS es aplicable con la .mdf .ldf y no con el restore de un backup.

    "LUIS si me equivoco o hay otra forma espero tu correccion"

    Otra cosa cuando decis que tenes una copia completa de tu BD acordate que siempre es (los datos + log) esto es tu backup completo. No podes separarlos en el restore.

    Encambio es distinto si copias a mano la .mdf .ndf .ldf.

    Espero haber ayudado, cualquier cosa chifla!

    Abrazo

    The Pipo
  6. Luis Martin Moderator

    Totalmente correcto. No había entendido que se trataba de un backup.
    Por otro lado lo que podría hacer es hacer el backup, luego poner en simple el modo de recuperación, luego hacer un shrink del log y por último hacer o un backup nuevo full o un dettach.


    Luis Martin
    Moderator
    SQL-Server-Performance.com

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important
    Bertrand Russell


    All postings are provided “AS IS” with no warranties for accuracy.



  7. cizq New Member

    Muchas gracias a Luis y a The Pipo,

    No sabia exactamente, si podría extraer solo el mdf. Pero como indica The Pipo, la copia de seguridad esta compuesta por el mdf y el ldf.
    Al ejecutar el comando RESTORE FILELIST, confiaba en que existiera alguna posibilidad.
    Ya he restaurado la copia de seguridad, y la he reducido haciendo un deattach y el attach.

    Un saludo a todos.
  8. joserivas New Member

    Yo no tengo mucha experiencia con SQL Server... tuve que recrear la estructura y datos de una base de datos en Sql Server 2000 de la cual tenia los archivos MDF y MLF

    No sabia como hacerlo y al buscar y entrar en este foro como en otros, no entendia ni un krjo... incluso hablan acerca de que no hay otros metodos de reinstaurarla si es que no se le llama desde el backup, restore, detach, etc.... que es eso!!!

    Esto es lo que Yo hice (MS SQL SERVER 2000), tengo la base de datos funcionando correctamente, al 100% e inicialmente solo tenia esos dos archivos

    1) Cree una nueva base de datos mediante el Enterprise Manager con los mismos nombres que tenia la anterior (para el archivo de datos y el registro de transacciones) de modo que me generaran los archivos NUEVOS con el mismo nombre de los archivos que tengo

    2) Una vez que me creó esos archivos, paré el servicio SQL, los BORRE y reemplacé con los que Yo tenia

    3) Reinicie la maquina y volvi a ejecutar lso servicios
  9. joserivas New Member


    A mi me funcionó correctamente, no he tenido ningun problema, estoy haciendo consultas a las tablas, todo ok

    José Rivas
    Saludos desde PERU
  10. Luis Martin Moderator

    Y de qué forma mantuviste la estructura de la base original?

    Si lo que querías es crear una nueva base sin mantener la estructura, bastaba con eliminarla con EM y crearla nuevamente vacía.



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    Although nature commences with reason and ends in experience it is necessary for us to do the opposite, that is to commence with experience and from this to proceed to investigate the reason.
    Leonardo Da Vinci

    Nunca esperes el reconocimiento de tus hijos, eso ocurrirá luego de tu muerte


    All postings are provided “AS IS” with no warranties for accuracy.



  11. Janet_21 New Member

    Hola, yo tambien tengo pocos conocimientos en SQL Server y se me presento la necesidad de reconstruir una base de datos de la que solo tenia el respaldo en archivos MDF y LOG. Segui la sugerencia de JoseRivas y me funciono.

    1) Cree la base de datos (como si fuera la primera vez)en el Administrador Corporativo (Enterprise Manager) con el mismo nombre que tenia la anterior (para que el archivo de datos y el registro de transacciones coincidan) de modo que se generaron los archivos NUEVOS con el mismo nombre de los archivos que hay de respaldo (en la carpeta de Data en c:Archivos de ProgramasMicrosoft SQL ServerData)

    2) Suspendi el servicio SQL, me fui a la carpeta que mencione anteriormente, borre los archivos y luego ahí copie los que yo tenia de respaldo

    3) Reinicie la maquina, abri el SQL y ya estaba la BD con todas sus tablas, vistas, etc.. trabajando normal.

    Eso me sirvio a mi, tengo SQL Server 2000. Suerte a todos...
  12. Luis Martin Moderator

    Buen trabajo Janet y Bienvenida/o al forum.



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



Share This Page