locked
Error restauración fichero .bak RRS feed

  • Pregunta

  • Buenos días,

    Necesito recuperar un seguido de bases de datos (unas 120) y tengo un script de Transact para realizar dicho proceso.

    El problema que me encuentro es que de una base de datos se han generado dos ficheros .BAK y al recuperar me da el siguiente mensaje de error:

    El conjunto de medios tiene 2 familias de medios, pero solo se proporcionaron 1. Deben proporcionarse todos los miembros.

    En en el script, la parte de la sentencia para restaurar si solamente hay un único fichero .bak y que me funciona correctamente es:

    set @sentencia='restore database ['+@BASEDATOS+']from disk=N'''+@BACKUPDATA+@BASEDATOS+'.bak'' with recovery,
    MOVE '''+@BASEDATOS+''' TO '''+@DATA+@BASEDATOS+'.mdf'', 
    MOVE '''+@BASEDATOS+'_dat'' TO '''+@DATA+@BASEDATOS+'_dat.ndf'',
    MOVE '''+@BASEDATOS+'_idx'' TO '''+@DATA+@BASEDATOS+'_idx.ndf'', 
    MOVE '''+@BASEDATOS+'_log'' TO '''+@DATA+@BASEDATOS+'_log.ldf'''

    Si desde el Management Studio voy a la opción de restaurar Base de datos, selecciono los dos ficheros .BAK y genero un script, si lo comparo con el que yo utilizo veo que se están pasando los dos ficheros después del FROM DISK y en vez del parámetro WITH RECOVERY se pasa WITH FILE =1...

    Las ficheros de las dos bases de datos son estos:


    Alguna sugerencia para poder automatizar el proceso?

    Muchas gracias



    viernes, 24 de marzo de 2023 7:43