En cuestión de base de datos, no te la puedes jugar haciendo backups manuales… ya que en cualquier momento… se puede fastidiar.
Os voy a explicar como automatizar tus copias en tu servidor SQL Server.
No obstante hay unos requisitos mínimos:
Se requiere tener instalado SQL Server Standard o superior. (No es válido SQL Express)
Para hacer los backups automatizados debemos abrir nuestra aplicación Microsoft SQL Server Management Studio apuntando a nuestro servidor.
Si no tenéis la aplicación os facilito el enlace: Microsoft SQL Server Managment Studio
Una vez abierta la aplicación de Microsoft SQL Server Managment Studio, vamos al apartado SQL Server Agent y hacemos clic derecho en la carpeta Jobs y pulsamos en new job.
Nos aparecerá la siguiente ventana:
En el apartado general debemos rellenar los siguientes campos:
- Apartado General.
- Nombre del Job.
- Propietario del Job (Esto debe ser un usuario administrador con permisos para ejecutar este job).
- Categoría (Si eres ordenado, es mas fácil todo así que pon es un plan de mantenimiento de base de datos).
Ahora en la tarea vamos a añadir un Step.
En el apartado de General rellenamos los siguientes campos:
5. Apartado General.
6. Nombre del Step.
7. Script para que haga las copias de seguridad de todas las bases de datos del servidor.
Añadir estas lineas en el apartado script:
DECLARE @name VARCHAR(200) -- database name DECLARE @path VARCHAR(256) -- path for backup files DECLARE @fileName VARCHAR(1024) -- filename for backup DECLARE @fileDate VARCHAR(20) -- used for file name SET @path = 'D:\BACKUPS\' SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) DECLARE db_cursor CURSOR FOR SELECT name FROM master.sys.databases where state_desc = 'ONLINE' and source_database_id IS NULL and name NOT IN ('master','model','msdb','tempdb','eppm') OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN SET @fileName = @path + @name + '_' + @fileDate + '.BAK' BACKUP DATABASE @name TO DISK = @fileName FETCH NEXT FROM db_cursor INTO @name END CLOSE db_cursor DEALLOCATE db_cursor
Hacemos clic en OK y nos vamos al apartado Schedules.
En este apartado incluimos las horas que se van a realizar las copias de seguridad.
En esto ya depende de cada uno quiera, pero marco lo importante y os dejo un ejemplo de como lo haría yo.
Vale ya tenemos los backups automaticos… pero ¿y si queremos mantener una retención de 30 días?
En Microsoft SQL Server Managment Studio vamos al apartado de Managment –> Maintenance Plans y hacemos clic derecho en Maintenance Plan Wizard.
Damos a Next y elegimos la fecha para el borrado de base de datos.
Elegimos la tarea de Mainntenance Cleanup Task.
Hacemos clic en Next
8. Seleccionamos que queremos eliminar archivos de backups.
9. En que directorio están los backups.
10. La retención que queremos mantener de backups.
Después de estos pasos, ya tenemos que lo queremos copias automáticas y con la retención de copias de seguridad que queramos.