En primer lugar crearemos un archivo .sql con las instrucciones Transact-SQL para realizar un backup, a grosso modo la línea sería:
BACKUP DATABASE [Nombre_DB] TO DISK = N'PathDestino' WITH INIT , NOUNLOAD , NAME = N'Nombre_conjunto_Backup', NOSKIP , STATS = 10, NOFORMAT
La nomenclatura completa de la instruccion BACKUP de T-SQL se puede consultar en http://msdn.microsoft.com/es-es/library/ms186865.aspx
El contenido de nuestro archivo .sql quedaría de la siguiente forma:
BACKUP DATABASE [DB1] TO DISK = N'C:\Backup_DB\DB1.bak' WITH INIT , NOUNLOAD , NAME = N'Backup_DB1', NOSKIP , STATS = 10, NOFORMAT BACKUP DATABASE [DB2] TO DISK = N'C:\Backup_DB\DB2.bak' WITH INIT , NOUNLOAD , NAME = N'Backup_DB2', NOSKIP , STATS = 10, NOFORMAT BACKUP DATABASE [DB3] TO DISK = N'C:\Backup_DB\DB3.bak' WITH INIT , NOUNLOAD , NAME = N'Backup_DB3', NOSKIP , STATS = 10, NOFORMAT
Ahora debemos crear un lanzador con un archivo .cmd. Usaremos el comando SQLCMD, el contenido del archivo sería:
rem El Foso del Sarlacc rem Lanzador de backup DB SQLCMD -S SERVIDOR -E -i"C:\Script\Backup_DB.sql" > C:\Backup_DB\Backup_DB.log
Advertir que se redirecciona la salida (con el operador >) a un archivo de log para comprobar el resultado de la copia y después si precisa y se desea enviarlo por correo mediante, por ejmeplo, blat.
Ahora solo falta programar una tarea de Microsoft Windows para que ejecute el lanzador .cmd
Es necesario que el usuario que ejecuta la tarea programada de MS Windows tenga derechos (mínimo db_backupoperator) sobre las bases de datos de las que tiene que realizarel backup.
No hay comentarios:
Publicar un comentario