none
como crear al parecido a un "job" para resaldo automatico con sql server 2005 express

    Question

  • hola compañeros, sucede que nesesito generar resaldos automaticos de una base de datos, el problema esta en que las versiones express de sql server no tran la funcionalidad del job, indagando en internet me tope con ejemplos que dictan realizar una query que haga el backup y luego programar una tarea de windows para que haga los respaldos automaticos, pero el back up no se realiza, alguien podria ayudarme con la query para realizar el back up, y tambien como hacer la tarea de windows? o con alguna otra sugerencia saludos y gracias
    Sunday, September 09, 2012 7:35 PM

Answers

All replies

  • Hola.

    La tarea programada de Windows ha de ejecutar un script desde línea de comando, bien con PowerShell, bien con sqlcmd. Aquí encontrarás varios ejemplos de ello:

    http://support.microsoft.com/kb/2019698


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    Sunday, September 09, 2012 8:00 PM
    Moderator
  • hola perdon por no responder no dispongo de internet, bueno lo checare e ire posteando los avanzes, saludos

    hola lo he intentado pero sigue sin funcionar escribire lo que estoy haciendo para que me orienten en que estoy mal.

    1.- busque un script que realiza el respaldo, que es este:

    ------------------------
     -- BACKUP Base de datos
     ------------------------
    
    use mybd;
    
     DECLARE @strDBName nvarchar(50)
     DECLARE @strFolder nvarchar(500)
     DECLARE @tToday datetime
     DECLARE @strBackupName nvarchar(100)
     DECLARE @strBackupFile nvarchar(600)
     
    -- Nombre de la Base de Datos
     SET @strDBName = N'mybd'
     
    -- Directorio Destino de la copia de seguridad
     SET @strFolder = N'C:\mi ruta'
     
    -- Componer nombre del archivo de copia de seguridad
     SET @tToday = GETDATE()
     SET @strBackupName = @strDBName 
     SET @strBackupFile = @strFolder + N'\' + @strBackupName + N'.bak'
     BACKUP DATABASE @strDBName TO DISK = @strBackupFile WITH NOFORMAT, INIT, SKIP, NAME = @strBackupName

    menciono que en un programa que hice en c# puedo hacer respaldos desde el programa, pero vi que antes debia tener un archivo.bak vacio para que me hiciera el respaldo si no, no me lo hacia.

    2.- puse es script en un archivo .sql, luego me fui a las tareas de windows y cree una tarea basica, en la parte donde me pide si deseo ejectuar un programa puse el sig texto, llamando a sqlcmd:

           
    sqlcmd -S miServidor -o C:\miruta
    despues lo puse en ejecucion, hice la prueba para que hiciera el respaldo, cuando llego la hora de que haga el respaldo se ejecuto el sqlcmd , fui a checar el repaldo y no se habia hecho nada, desde el viernes tengo este problema imagino que se debe de hacer algo mas o el script esta mal o la llamada al sql cmd esta mal, alguna ayuda o sugerencia por favor, saludos
    • Edited by EddieMontana24 Monday, September 10, 2012 1:49 PM mostrar lo que he avanzado
    Monday, September 10, 2012 1:17 PM
  • hola, gracias qwalgrande ya pude realizarlo, lo que pasa era que me faltaba poner credenciales en mi sqlcmd, pero ahora ya los realiza.

    gracias de nuevo y saludos

    Monday, September 10, 2012 4:06 PM