none
"Error" Backup en RED RRS feed

  • Pregunta

  • Hola.

    Ocupo este script para hacer backup en red.

          

    Declare @Respaldo varchar (255)
    Declare @Fecha Datetime
    Declare @Archivo varchar(255)
    Declare @NombreArchivo varchar(255)
    Declare @Ruta varchar(255)

    SET @Archivo='Nombre_BD'

    SET @Fecha=GETDATE()
    SET @Ruta='\\192.168.51.110\RESPALDOS\BD\'   
    SET @NombreArchivo=@Archivo
    SET @Archivo=@Archivo+'_'+Convert(varchar(10),@Fecha,112)+'.BAK'
    Set @Respaldo = @Ruta + @Archivo      

    BACKUP DATABASE @NombreArchivo TO  DISK = @Respaldo WITH NOFORMAT, INIT,  
    NAME = N'FULL', SKIP, NOREWIND, NOUNLOAD, STATS = 10, CHECKSUM
    GO

    En dicho servidor tengo varias bases de datos y aveces de manera aleatoria me da error en algunas de ellas:

    A nonrecoverable I/O error occurred on file "\\192.168.51.110\RESPALDOS\BD\Nombre_BD_20160808.BAK:" 64(The specified network name is no longer available.)

    Ahora bien el respaldo SI llega a la direccion en particular. me da la sensación que es en el CHECKSUM donde tiene problemas de reconocer la red.

    Atte.


    DBA SQL Server Santiago/Chile



    • Editado CMAPM lunes, 8 de agosto de 2016 19:09
    lunes, 8 de agosto de 2016 18:12

Respuestas

  • Saludos

    Ve la parte de backup

    https://ola.hallengren.com/

    O si quieres algo un poco mas robusto y le entiendes minion backup

    lunes, 8 de agosto de 2016 21:25
  • Saludos

    Esto lo haria por default el script, de hecho si vez esta valor @CleanupTime = 24, es el que se encarga en borrar el archivo pasado cierto tiempo entu caso seria cada 24 horas si haces la tarea cada 24 horas y quieres 10 archivos diarios tendrias que poner retencion de 240 horas.

    martes, 9 de agosto de 2016 18:44

Todas las respuestas

  • Hola amigo, si podes probar con esto

        SET LANGUAGE us_english
    
        exec xp_cmdshell ‘net use \192.168.1.1backupsSQL clave /user:backup’
    
        DECLARE @Archivo AS nvarchar(100)
    
        SET @Archivo = N‘\192.168.1.1BackupsSQLMiBaseDeDatos_’ + DATENAME(WEEKDAY, GETDATE()) + ‘.bak’
    
        BACKUP DATABASE [MiBaseDeDatos] TO  DISK = @Archivo WITH NOFORMAT, INIT, 
            NAME = N‘MiBaseDeDatos-Full Database Backup’, SKIP, NOREWIND, NOUNLOAD,  STATS = 10;
    
        exec xp_cmdshell ‘net use \192.168.1.1BackupsSQL /D’

    http://geeks.ms/jalarcon/2010/01/06/sql-server-cmo-hacer-copias-de-seguridad-directamente-en-unidades-de-red/

    OBS: Favor vota si te es útil la información.
    Saludos
    Bader Molinas - Paraguay
    https://deveintel.wordpress.com/


    lunes, 8 de agosto de 2016 19:33
  • Saludos Cristian

    Ese error mas me parece un error de red que de otra cosa, no parece error de sql server, ademas algun motivo para que no uses ya soluciones hechas como los scripts de ola

    Recuerda que la cuenta del agente debe de tener permisos en el repositorio remoto.  

    lunes, 8 de agosto de 2016 21:21
  • Saludos.

    scripts de ola ? 


    DBA SQL Server Santiago/Chile

    lunes, 8 de agosto de 2016 21:23
  • Hola amigo, si podes probar con esto

        SET LANGUAGE us_english
    
        exec xp_cmdshell ‘net use \192.168.1.1backupsSQL clave /user:backup’
    
        DECLARE @Archivo AS nvarchar(100)
    
        SET @Archivo = N‘\192.168.1.1BackupsSQLMiBaseDeDatos_’ + DATENAME(WEEKDAY, GETDATE()) + ‘.bak’
    
        BACKUP DATABASE [MiBaseDeDatos] TO  DISK = @Archivo WITH NOFORMAT, INIT, 
            NAME = N‘MiBaseDeDatos-Full Database Backup’, SKIP, NOREWIND, NOUNLOAD,  STATS = 10;
    
        exec xp_cmdshell ‘net use \192.168.1.1BackupsSQL /D’

    http://geeks.ms/jalarcon/2010/01/06/sql-server-cmo-hacer-copias-de-seguridad-directamente-en-unidades-de-red/

    OBS: Favor vota si te es útil la información.
    Saludos
    Bader Molinas - Paraguay
    https://deveintel.wordpress.com/


    Estimado Gracias.

    El problema seria indicar la clave en el script.


    DBA SQL Server Santiago/Chile

    lunes, 8 de agosto de 2016 21:24
  • Saludos

    Ve la parte de backup

    https://ola.hallengren.com/

    O si quieres algo un poco mas robusto y le entiendes minion backup

    lunes, 8 de agosto de 2016 21:25
  • Estimado Enrique.

    Revisé est parte 

    https://ola.hallengren.com/sql-server-backup.html


    EXECUTE dbo.DatabaseBackup
    @Databases = 'USER_DATABASES',
    @Directory = 'C:\Backup',
    @BackupType = 'FULL',
    @Verify = 'Y',
    @Compress = 'Y',
    @CheckSum = 'Y',
    @CleanupTime = 24

    Entiendo que este script me dara todos los backup de mis bases al usar USER_DATABASES, si quiero las de sistemas tambien deberia cambiarla por ALL_DATABASES correcto no ?

    POr ultimo, quisiera que mis bases queden con NOMBRE_FECHA asi como lo hago en mi script inicial, es posible ?


    DBA SQL Server Santiago/Chile

    lunes, 8 de agosto de 2016 21:47
  • Si instalas la solucion completa crea 2 jobs por separado para las de sistema y las de usuario (crea los jobs pero no estan programados para correr).

    Normalmente las bases de sistema no requieren backups tan granulares como las bases de usuario, ni tan seguido.

    O puedes poner solo system databases en otro job.  

    lunes, 8 de agosto de 2016 21:51
  • solo un detalle hasta donde yo se net use debería ser \\192.168.1.1\backupsql, creo que la web se comió una \

    Comparte lo que sepas, aprende lo que no sepas (FGG)
    portalSQL
    El rincón del DBA

    martes, 9 de agosto de 2016 9:48
    Moderador
  • Estimado Enrique.

    Tengo la necesidad que el archivo se cree como NombreBD_FECHA.BAK , están buenísimos los script de ola, pero no veo donde ni como agregar la FECHA al nombre del archivo.

    Saludos Cordiales.


    DBA SQL Server Santiago/Chile

    martes, 9 de agosto de 2016 17:28
  • Normalmente nunca he cambiado el comportamiento crea una carpeta y pone en automatico en diferentes carpertas los full, dif y tlog con el nombre y la fecha por default si esto no cumple con tus requerimientos hazmelo saber y vemos como cambiar el comportamiento.
    martes, 9 de agosto de 2016 17:37
  • Te cuento.

    Lo que nosotros hacemos es lo siguiente.

    Hacemos FULL todos los dias, (si alcanza pues als BD son pequeñas).

    Los bakcup los dejamos en \\Servidor\Origen\BD\

    Y tenemos la necesidad de dejar 10 dias de historicos, de ahi la necesidad de agregarles la fecha.

    Saludos Cordiales.


    DBA SQL Server Santiago/Chile

    martes, 9 de agosto de 2016 18:15
  • Saludos

    Esto lo haria por default el script, de hecho si vez esta valor @CleanupTime = 24, es el que se encarga en borrar el archivo pasado cierto tiempo entu caso seria cada 24 horas si haces la tarea cada 24 horas y quieres 10 archivos diarios tendrias que poner retencion de 240 horas.

    martes, 9 de agosto de 2016 18:44