miércoles, 22 de junio de 2011

Copia automatica con fecha de BASES DE DATOS MSSQL 2005 EXPRESS



Si deseas automatizar las copias de seguridad de una base de datos en SQL server Express, existe una sencilla solución utilizando un fichero .bat.
Crea un nuevo fichero texto. Este fichero debe contener la siguiente información: 






SET J=%date:~-10,2%

SET A=%date:~-4%
SET M=%date:~-7,2%
SET H=%time:~0,2%
SET MN=%time:~3,2%
SET S=%time:~-5,2%

IF "%time:~0,1%"==" " SET H=0%HORA:~1,1%


SET DIRECTORIO=E:\
Nombre_Directorio\

SET FICHERO=%DIRECTORIO%\
Nombre_fichero_respaldo_%J%_%M%_%A%_A_%H%_%MN%_%S%.bak

IF NOT exist "%DIRECTORIO%" md "%DIRECTORIO%"


cd C:\Program Files\Microsoft SQL Server\90\Tools\Binn


sqlcmd -S
Nombre_Servidor\SQLEXPRESS -Q "BACKUP DATABASE Nombre_Base_SQL TO DISK = N'%FICHIER%' WITH INIT, NAME = N'Copia de seguridad automática de la base de datos', STATS = 1"

Finalmente, cambiar la extensión .txt a .bat


El
"E:\Nombre_Directorio\" corresponde al lugar donde deseas poner el fichero de copia de seguridad (.bak)
El "Nombre_fichero_respaldo" corresponde el nombre del fichero .bak
Finalmente, el "Nombre_Base_SQL" corresponde al nombre de la base de datos.

Además, esto permite mostrar la fecha y la hora de la copia de respaldo después del nombre asignado al fichero .bak


Ahora tan solo te queda crear una tarea planificada.


No hay comentarios:

Publicar un comentario