La necesidad de crear copias de seguridad (Backup) de nuestras bases de datos (DB) es algo imprescindible y realmente necesario en los ambientes de producción. Un servidor puede fallar, puede ocurrir eliminación accidental de datos o una catástrofe física del lugar donde está el servidor.
¿Qué sucedería en tal caso? ¿Qué sucedería si debemos montar de nuevo un servidor? Por eso el dicho tan sabio “Más vale prevenir que curar”, y al tener una copia de seguridad es más rápido restaurar la DB que ingresar de nuevo toda la información ¿verdad?
Realizaremos dos acciones para implementar copias de seguridad automáticas en SQL Server 2008:
1.Script para la generación de los BACKUP.
2. Agente de SQL Server.
Paso 1: crear el script que genera la copia de seguridad de la DB. Ustedes deberán cambiar las variables necesarias.
USE nombre_de_su_base;
GO
declare @fecha varchar(MAX)
declare @archivo varchar(MAX)
set @fecha = CONVERT(Varchar(max), GETDATE(),102)+'_'+SUBSTRING(CONVERT(varchar(10), getdate(),108),1,2)+SUBSTRING(CONVERT(varchar(10), getdate(),108),4,2)+'horas'
set @archivo ='C:\nombredelacarpetaBACKUP\nombre_de_su_base'+@fecha+'.bak'
BACKUP DATABASE nombre_de_su_base
TO DISK = @archivo
WITH FORMAT,
MEDIANAME = 'D_SQLServerBackups',
NAME = 'Full Backup of nombre_de_su_base';
GO
GO
declare @fecha varchar(MAX)
declare @archivo varchar(MAX)
set @fecha = CONVERT(Varchar(max), GETDATE(),102)+'_'+SUBSTRING(CONVERT(varchar(10), getdate(),108),1,2)+SUBSTRING(CONVERT(varchar(10), getdate(),108),4,2)+'horas'
set @archivo ='C:\nombredelacarpetaBACKUP\nombre_de_su_base'+@fecha+'.bak'
BACKUP DATABASE nombre_de_su_base
TO DISK = @archivo
WITH FORMAT,
MEDIANAME = 'D_SQLServerBackups',
NAME = 'Full Backup of nombre_de_su_base';
GO
Explico un poco el código:
Se han creado dos variables @fecha y @archivo, @fecha es la fecha en la que sea creado el respaldo, es una buena practica ponerla para identificar la antigüedad del respaldo. La otra variable es @archivo la cual contiene la ruta en la que se guardara el respaldo, si lo hacen directamente en la raíz de la unidad “C” es posible que tengan problemas de permiso de escrituras, por eso les recomiendo que coloquen el respaldo en una carpeta. Donde dice “nombre_de_su_base” deben cambiarlo por nombre de la base a la cual se le generara un respaldo de seguridad.
El resto del código es Transact-SQL, les dejo la siguiente URL para enriquezcan mas los conocimiento del mismo: http://msdn.microsoft.com/es-es/library/ms189826(v=SQL.90).aspx
Paso 2: debemos configurar el Agente de SQL Server para programar una tarea que será laencargada de ejecutar el script del paso 1, para ello haremos lo siguiente:
1. Iniciar sesión en el SQL Server Management para poder tener acceso a la configuración del Agente de SQL Server.
2. Al entrar al SQL Server Management observaremos en el explorar de objetos que el agente de SQL Server que encuentra al final del árbol del explorar.
Al dar clic en icono del + se desplegará un sub-menú
3. Al desplegar el Sub-menú del Agente de SQL Server daremos clic con el botón derecho del mouse sobre la carpeta "Trabajos" o "Jobs" si lo tienen en inglés.
Damos clic en la primera opción de "Nuevo trabajo" para poder dar inicio la configuración.
4. Una vez dentro de la configuración de "Nuevo Trabajo" se especificará el nombre que tendrá la tarea que ejecutara el script para generar los respaldos de la DB, adicional al nombre es recomendable que se escriba una breve descripción de la funcionalidad.
5. Ya ingresada la información damos clic en la opción “Pasos” o "Steps" y allí pinchamos el botón "nuevo".
En la opción “nuevo paso” especificamos el nombre de la DB a la cual se le hará el respaldo y en la parte donde dice “Comando” copiamos el script creado en el paso 1. Una vez ingresada la información correspondiente damos a "Ok"
6. Ahora es el momento de programar la frecuencia con la que se generará las copias de seguridad, para ello damos clic en la opción “Programaciones” o "Schedules".
Damos clic a "nuevo" y en la ventana que aparecerá especificaremos un nombre para poder identificar la tarea, en la sección “Frecuencia” especificamos con que frecuencia queremos que se ejecute la tarea, para los respaldos de la base es recomendable que se haga diario o según la necesidad, si seleccionan con una frecuencia diaria en la sección “Frecuencia Diaria” pueden especificar la hora de inicio y fin y otros datos más que que puede ser de utilidad. una ves sea hecho todas las especificaciones de la programación damos al botón "Ok"
Esto es lo que debemos hacer para tener la generación de copias de seguridad automáticas… Espero le ayude….
Éxito y que Dios les bendiga…
Artículo original: http://programadoressv.blogspot.cl/2011/02/backup-automaticos-de-bases-de-datos.html
Éxito y que Dios les bendiga…
Artículo original: http://programadoressv.blogspot.cl/2011/02/backup-automaticos-de-bases-de-datos.html
No hay comentarios:
Publicar un comentario