sql >> Base de Datos >  >> RDS >> Sqlserver

Base de datos de copia de seguridad de SQL Server Express | Cómo programar la automatización y la purga de la copia de seguridad de SQL Express

Explicaré la programación de la base de datos de copia de seguridad de SQL Server Express y la automatización de la copia de seguridad de SQL Server Express en este artículo.

Copia de seguridad de SQL Server Express

SQL Server Express es una edición gratuita y está disponible con una serie de restricciones. Por ejemplo; El tamaño de su base de datos no debe exceder los 10 GB y existen restricciones, como que el Agente SQL Server está deshabilitado, las tareas automáticas están deshabilitadas. Para obtener más información sobre las ediciones de SQL Server, lea el siguiente artículo.

Últimas versiones y ediciones de SQL Server e historial de SQL Server

Programe y automatice la copia de seguridad de SQL Server Express

El Agente SQL Server proporciona trabajos de copia de seguridad automáticos, tareas de mantenimiento en las ediciones Enterprise, Standard, etc. y ejecuta nuestros trabajos. Como no podemos usar esto en Express, podemos proporcionar una copia de seguridad automática usando el Programador de Windows.

Abra el Programador de tareas de Windows y haga clic en Nueva tarea del programador y escriba el nombre de la tarea y otras configuraciones como las siguientes.

Especifique Programador y cuándo se activará en este paso.

En este paso, especifique qué ejecutará el programador de tareas. Activaremos un archivo llamado BackupDB.bat y BackupDB.bat llamará y ejecutará DailyBackup.sql

Cuando el trabajo se está ejecutando, realiza una copia de seguridad a las 02:00 todas las noches y mantiene 4 copias de seguridad y elimina las copias de seguridad de más de 4 días de la siguiente manera.

El contenido de BackupDB.bat es como el siguiente.

echo off

sqlcmd -S "INSTANCE_NAME" -i "C:\Backup\DailyBackup.sql"
forfiles -p "C:\Backup" -s -m *.bak* /D -4 /C "cmd /c del @path"

El contenido de DailyBackup.sql es como el siguiente.

DECLARE @pathName NVARCHAR(512) 
SET @pathName = 'C:\Backup\DB_BACKUP_' + replace(convert(varchar, getdate(),111),'/','') + replace(convert(varchar, getdate(),108),':','') + '.bak' 
BACKUP DATABASE DB_NAME TO DISK = @pathName WITH NOFORMAT, NOINIT, NAME = N'db_backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

El programador de tareas activará el archivo BackupDB.bat a las 02:00 de la noche. Este archivo también ejecuta DailyBackup.sql. El trabajo tomará la copia de seguridad de la base de datos y eliminará la copia de seguridad anterior en la edición SQL Server Express.

¿Quiere aprender los tutoriales de DBA de Microsoft SQL Server para principiantes? Haga clic y lea los siguientes artículos.