none
Copias de Seguridad en SQL Server RRS feed

  • Pregunta

  • Hola chic@s!! Soy un poco nuevo en esto de SQL Server y recientemente he tenido que empezar a administrar una base de datos que ya estaba creada.

    Una de las dudas que no me he aclarado después de buscar información por internet es sobre los backups. Por aquí veo que tengo creado un 'Plan de mantenimiento' llamado Backup. Y luego hay como unos subplanes que están en el Agente SQL Server/Trabajos, que imagino que dependen de ese plan.

    Es necesario que funciones así? no puedo tener directamente un Trabajo que se ejecute periódicamente y realice el backup? Un plan de mantenimiento necesita necesariamente un subplan para que haga la copia?

    Y por último ¿donde se guarda el archivo de la copia de seguridad? He estado buscando y sospecho que sea un archivo llamado MSDBDATA.mdf ubicado en la carpeta MSSSQL10_50.MSSQSERVER/MSSQL/DATA, pero veo que tu tamaño es de sólo 2GB mientras que la base de datos original tiene casi 19GB.

    Disculpen por tantas preguntas XD

    Muchas gracias, un saludo!

    martes, 13 de marzo de 2018 9:35

Respuestas

  • Hola Tahod:

    En cuanto al Plan, ese es el modo de funcionamiento normal. Tu programas una tarea, para lo cual no es necesario saber T-SQL y esta se la encarga al agente, que la ejecuta con la periodicidad marcada.

    Si puedes hacer directamente un trabajo, en la parte de general, le pones como propietario un usuario, con permisos suficientes para lo que vas a realizar.

    En los pasos, puedes insertar una sentencia Sql o un paquete SSIS.... que te haga el backup.

    Ej:

    BACKUP DATABASE [mibbdd] to disk = 'c:\copia\copia.bak' WITH FORMAT,INIT;

    y en programaciones, le marcas la periodicidad.

    Dado que te toca como nuevo, te recomiendo, que la copia sea completa, porque el tema de los backups, tiene su complejidad

    Y Por ultimo, no es correcto, ese mdf es el archivo de la base de datos.

    Normalmente los backups se guardan por defecto en la ruta que tenga la instancia de servidor prefijada, que suele ser la carpeta Backup al mismo nivel que data.

    Revisa esta parte, porque los backup son extensiones .bak, y a lo mejor tu plan que crees que las hace no las esta ejecutando.

    Saludos

    martes, 13 de marzo de 2018 9:56

Todas las respuestas

  • Hola Tahod:

    En cuanto al Plan, ese es el modo de funcionamiento normal. Tu programas una tarea, para lo cual no es necesario saber T-SQL y esta se la encarga al agente, que la ejecuta con la periodicidad marcada.

    Si puedes hacer directamente un trabajo, en la parte de general, le pones como propietario un usuario, con permisos suficientes para lo que vas a realizar.

    En los pasos, puedes insertar una sentencia Sql o un paquete SSIS.... que te haga el backup.

    Ej:

    BACKUP DATABASE [mibbdd] to disk = 'c:\copia\copia.bak' WITH FORMAT,INIT;

    y en programaciones, le marcas la periodicidad.

    Dado que te toca como nuevo, te recomiendo, que la copia sea completa, porque el tema de los backups, tiene su complejidad

    Y Por ultimo, no es correcto, ese mdf es el archivo de la base de datos.

    Normalmente los backups se guardan por defecto en la ruta que tenga la instancia de servidor prefijada, que suele ser la carpeta Backup al mismo nivel que data.

    Revisa esta parte, porque los backup son extensiones .bak, y a lo mejor tu plan que crees que las hace no las esta ejecutando.

    Saludos

    martes, 13 de marzo de 2018 9:56
  • Muchas gracias Javi por tu respuesta.

    Ok ya me queda un poco más claro.

    Respecto al archivo que genera la copia de seguridad, me está costando un poco encontrarlo, tengo la carpeta Backup que me dices pero está vacía. Y en los archivos logs veo los mensajes diarios del plan y me dicen que la tarea de copia de seguridad se finaliza correctamente.

    También he intentado mirar las propiedades del plan a ver si me dice la ruta, pero al hacer doble click sobre dicho plan me sale una ventanita de error que dice "Referecia a objeto no establecida como instancia de un objeto".

    Bueno seguiré investigando a ver si doy con el.

    Gracias! Un saludo.



    martes, 13 de marzo de 2018 10:51
  • Hola:

    En el Management Studio, explorador de servidores. Botón derecho sobre la instancia del servidor.

    Configuración de bases de datos.

    En la parte inferior de la ventana Ubicación predeterminada.

    Es muy probable que sea la ruta.

    Puedes hacer lo siguiente:

    Cambia la ruta. por una que te interese (que no sea una carpeta con problemas de usuarios...ej no escritorio), y ejecuta el plan, desde el job del agente. y observa si las ha generado en la ruta.

    Que no lo ha realizado, lo vuelves al estado inicial.

    En principio si en el subplan al editarlo, puedes ver la ruta.

    En la visual de propiedades, tienes DestinationAutoFolderPath y te indica la ruta.

    Un saludo

    martes, 13 de marzo de 2018 11:32
  • Saludos

    Te dejo información de los backups, lo que menciona Javi te dara el path, personalmente soy alérgico a los planes internos de SQL Server de mantenimiento, pero como dicen "peor es nada"

    https://sqlservertoolbox.blogspot.mx/2015/07/mantenimiento-parte-24-backups-copias.html


    Blog: www.sqlservertoolbox.blogspot.com.mx

    martes, 13 de marzo de 2018 23:34
  • Hola,

    Te paso mi experiencia, yo utilizo Microsoft SQL Server Management Studio y desde ahí hago todo. Tienes la seccion SQL SERVER AGENT, dentro de ella esta la carpeta JOBs, has boton derecho sobre ella y elijes New Job...

    en la pestaña: General -> colocale el nombre que gustes

    en la pestaña: Steps -> coloca estas setencias

    BACKUP DATABASE [NameDatabase] TO  DISK = N'D:\BackupBD\backupGC.bak' 
    WITH NOFORMAT, INIT,  NAME = N'Copia Completa de Base de datos', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO

    y para determinar que se automática la copia de seguridad 

    en la pestaña: Schedules -> configuras la frecuencia de esa tarea.

    Listo y eso es todo


    jcav

    miércoles, 14 de marzo de 2018 14:57