Programar Copias de Seguridad en SQL Server 2005-2008 Express

La versión Express de SQL Server 2005 y 2008 no dispone del SQL Agent, luego no podemos programa copias de seguridad periodicas.


Para realizar esta operación, en cambio podemos realizarlo utilizando el comando SQLCMD y el administrado de tareas programadas de windows.


Primero crearemos un archivo llamado Backup.sql por ejemplo con el siguiente contenido:


------------------------
-- BACKUP Base de datos
------------------------
DECLARE @strDBName nvarchar(50)
DECLARE @strFolder nvarchar(500)
DECLARE @tToday datetime
DECLARE @strBackupName nvarchar(100)
DECLARE @strBackupFile nvarchar(600)

-- Nombre de la Base de Datos
SET @strDBName = N'MiBaseDatos'

-- Directorio Destino de la copia de seguridad
SET @strFolder = N'C:\CopiasSeguridad'

-- Componer nombre del archivo de copia de seguridad
SET @tToday = GETDATE()
SET @strBackupName = @strDBName + N' '
 +STR(DATEPART(year, @tToday), 4, 0)
 +REPLACE(STR(DATEPART(month, @tToday), 2, 0), N' ',N'0')
 +REPLACE(STR(DATEPART(day, @tToday), 2, 0), N' ', N'0')
 +REPLACE(STR(DATEPART(hour, @tToday), 2, 0), N' ', N'0')
 +REPLACE(STR(DATEPART(minute, @tToday), 2, 0), N' ', N'0')
SET @strBackupFile = @strFolder + N'\' + @strBackupName + N'.bak'
BACKUP DATABASE @strDBName TO DISK = @strBackupFile WITH NOFORMAT, INIT, SKIP, NAME = @strBackupName


Despues añadimos una tarea al programador de tareas con la siguiente instrucción:


SQLCMD -S(local)\SQLEXPRESS -E -i"C:\Backup.sql"

Descripcion de los parametros:
-S -> indica el nombre y la instancia del servidor
-E -> autentificación windows
-i -> archivo que contiene el conjunto de instrucciones


En dicha tarea programada le indicaremos la hora y los dias que deseamos que se lance la tarea de copias de seguridad.

Comentarios

  1. Muchas gracias por esta entrada.

    Otra Ingeniera técnica en informática de gestión haciendo labores de Administración.

    ResponderEliminar
  2. Hola,

    Este script borra cada X dias el backup mas antiguo?

    Un saludo.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

REDIMENSIONAR UNA IMAGEN DE VB6

Uso de COALESCE en SQL Server