none
Crear respaldo automaticamente en sql server 2008 express?? RRS feed

  • Pregunta

  • Que tal, necesito hacer un respaldo automaticamente de una base de datos en sql server 2008 express, y según entiendo esta versión de sql server no tiene esa opción, así que lo debo hacer con algún programa... he encontrado algunos sitios en donde mencionan usar una herramienta llamada osql pero no encontré la descarga, además de que es una herramienta para el sql server 2005 express y no se si sirva...

    Para ser sincero no entiendo casi nada de Transact-SQL y por lo que he leido necesitaré usarlo en alguna parte del proceso, así que espero me puedan ayudar.

    Gracias de antemano.

    jueves, 5 de agosto de 2010 5:34

Respuestas

Todas las respuestas

  • Hola Juanfra 3, puedes aplicar este T-SQL

    BACKUP

     

    DATABASE [NombreBaseDeDatos] TO DISK = N'C:\DondeQuieras\GuardarTu\Backup\MiBackup.bak' WITH NOFORMAT, NOINIT, NAME = N'NombreDelBackup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

    GO

    dentro de una aplicacion que realices en .NET... que podria ser un Servicio de Windows... que este activo en tu PC o servidor... y q cada cierta hora ejecute ese T-SQL...

    Aunque seria muchisimo mejor que encontraras una version de SQL Server, que tenga SQL Server Agent para que realices esa tarea automatizada.


    Marca la Respuesta como correcta si te es util.
    MCPD - Web Developer
    MCTS - .Net Framework 2.0, Web Applications, SQL Server 2005
    jueves, 5 de agosto de 2010 5:47
  • La edición Express de SQL Server no incluye el agente, por lo que no puedes ejecutar jobs automáticamente con él. Sin embargo existen alternativas, como puede ser el propio programador de tareas de Windows, el cual a través de un sencillo script de sqlcmd puedes ejecutar la instrucción que Mariojose Palma te indicaba en su respuesta.

    De todos modos, si buscas un poco verás que hay gente que ya ha trabajado sobre una especie de agente para Express, como por ejemplo http://www.codeproject.com/KB/database/SQLAgent.aspx.

    jueves, 5 de agosto de 2010 7:40
  • Puedes usar este programa, que en su version freeware permite hasta 2 bases de datos:

    http://sqlbackupandftp.com/

    • Propuesto como respuesta José [Py] jueves, 5 de agosto de 2010 20:28
    • Marcado como respuesta Juanfra 3 domingo, 8 de agosto de 2010 3:34
    jueves, 5 de agosto de 2010 20:28
  • Cómo hacer un respaldo automatizado en SQL Server Express
    http://ascii164.blogspot.com/2009/10/como-hacer-un-respaldo-automatizado-en.html

    Gustavo Larriera Sosa, Microsoft MVP | ascii164.blogspot.com | /*Este mensaje se proporciona tal como es, sin garantías de ninguna clase.*/
    viernes, 6 de agosto de 2010 3:44
    Moderador
  • Gracias Amigo muy efectivo el script, adicionalmente te queria preguntar si conoces como colocarle al al nombre de la base de datos un identificador como la fecha del dia del respaldo. Gracias
    jueves, 19 de agosto de 2010 16:14
  • Hola.

    Construye la cadena de ejecución del backup en una variable y en el nombre del fichero le añades la fecha y la hora, obteniéndola desde getdate()

    declare @backup varchar(1000)

    select @backup = 'backup database ... to disk ''C:\MiBackup' + '_' + convert(char(8), getdate(),112) + '.bak'''

     


    Alberto López Grande (Visita mi blog en http://qwalgrande.blogspot.es/)
    jueves, 19 de agosto de 2010 16:22
    Moderador
  • Gracias, se que tenia que concatenar pero cuando lo ejecuto en el script genera error de ejecucion pero cuando hago la prueba de query concatenando la fecha mas la direccion en donde estara ubicado el .bak lo ejecuta bien.

     

    Listo amigos resolvi la situacion, no permite concatenar en el mismo comando, debes de agregar otra variable para la ruta y luego la concatenas con la fecha.

    SALUDOS

    jueves, 19 de agosto de 2010 19:02