[BackUp SQL] Crear respaldos de BD con TSQL.


Saludos amigos aquí les dejo un script de TSQL que sirve para realizar respaldos completos de base de datos y posteriormente verificar que el respaldo este creado de manera correcta para su futura implementación.

1. Script para generar el respaldo.

BACKUP DATABASE [tubasededatos]--BD que se va a respaldar.
TO  DISK = N'C:\RespaldosDB\tubasededatos_full.BAK'--Ruta a donde se va a generar el respaldo.
WITH  DESCRIPTION = N'Respaldo completo de la base de datos tubasededatos', --Descripción del respaldo.
NOFORMAT, 
INIT,  
NAME = N'tubasededatos_respaldo_completo', --Alias del respaldo a nivel logico.
SKIP, 
NOREWIND, 
NOUNLOAD,  
STATS = 10, 
CHECKSUM

2. Ahora verificaremos que el respaldo se haya generado correctamente y este listo para su utilización.

BEGIN TRY

    DECLARE @backupSetId AS INT
    --Seleccionamos el identificador del respaldo de la base de datos.
    SELECT @backupSetId = position
    FROM msdb..backupset 
    WHERE database_name=N'tubasededatos' 
       AND backup_set_id=(SELECT MAX(backup_set_id) 
                          FROM msdb..backupset 
                          WHERE database_name=N'tubasededatos' )

    --Si no regresa ningun identificador generamos un error.
    IF @backupSetId IS NULL 
    BEGIN 
       RAISERROR(N'Fallo la verificación. La información de reapaldo para la base de datos ''tubasededatos'' no se encontro.', 16, 1) 
    END    

    --Si el identificador es valido, verificamos el respaldo creado.
    RESTORE VERIFYONLY 
    FROM  DISK = N'C:\RespaldosDB\tubasededatos_full.BAK' 
    WITH  FILE = @backupSetId,  
    NOUNLOAD,  
    NOREWIND

    PRINT 'La verificación se realizo correctamente, el respaldo de la base de datos ''tubasededatos'' esta listo para utilizarse'

END TRY
BEGIN CATCH--En caso de error, mostramos el mensaje, línea y número de error.
    PRINT ERROR_MESSAGE()
    PRINT ERROR_LINE()
    PRINT ERROR_NUMBER()
END CATCH

Ya solo les queda verificar la ruta física del respaldo y listo.

image

Espero les sea de ayuda, dejen comentarios!!!

 

    • jesus
    • 3/02/11

    Muchas gracias, esta información, me es de mucha utilidad….

    • marlom
    • 9/11/11

    muchas gracias, pero y un diferencial seria casi lo mismo?

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: