Skip to main content

Programar respaldos SQL Server 2008 r2 express

SQL Server 2008 R2Resulta que por cuestiones laborales tengo la necesidad de hacer respaldos de una base de datos del MS SQL Server 2008 R2 express, y pues resulta que aunque se pueda instalar el MS SQL Server Management Studio Express, simplemente no podremos tener un plan de mantenimiento o automatización, puesto que esa versión carece del SQL Agent Service.

Buscando una posible solución me encontré muchas formas de hacerlo.

Claro, el Management Studio te facilita enormemente las cosas, puedes realizar muchas cosas más aparte de los planes de mantenimiento.

Multi-Server-Mgmt-Dashboard

Había una forma bastante simple de hacerlo y la encontré aquí, pero me encontré con el inconveniente de que para empezar si ejecutaba el comando sqlcmd así sin argumentos, simplemente me marcaba un error:

sqlcmd
HResult 0x2, Level 16, State 1
Named Pipes Provider: Could not open a connection to SQL Server [2].

Entonces ahí mismo encontré este interesante artículo donde habla de cómo usar esa shell de SQL Server. Las pruebas simples que hice funcionaron muy bien y ahí habría quedado sino fuera porque quería que me guardara el formato de fecha y hora, porque como quedan en un mismo directorio (por ahora), el anterior no me funcionaba, porque me machacaría las copias previas.

Así que use este otro que está más elaborado. Aunque lo tuve que cambiar debido a que no me gustaba la forma en que me dejaba los nombres de los archivos generados. Como ya tenía rato de no tocar este tipo de cosas, pues a googlear un poco y me encontré dos interesantes artículos: How to format Date/TimeDate and Time Conversions Using SQL Server, esos artículos me ayudaron a entender mejor la forma de tratar las fechas.

Funcionó, hice varias pruebas y funcionaron ambas, pero aún no estaba del todo contento con el resultado, sobre todo porque me dejaba archivos del tipo: RespaldoBD_13.10.2012_12:40.BAK y esos puntos en las fechas no me gustaban nadita ¬¬.

Hasta que finalmente vi que había una función que podría facilitarme un poco las cosas: Substring().

Así que este es el código como finalmente quedó:

declare @fecha varchar(MAX)
declare @archivo varchar(MAX)
set @fecha = SUBSTRING(Convert(Varchar(10), GetDate(),105),1,2)+SUBSTRING(Convert(Varchar(10), GetDate(),105),4,2)+SUBSTRING(Convert(Varchar(10), GetDate(),105),7,4)+'_'+SUBSTRING(CONVERT(Varchar(10), GetDate(),108),1,2)+SUBSTRING(CONVERT(Varchar(10), GetDate(),108),4,2)
set @archivo ='C:\Ruta\del\Directorio\Base_De_Datos_'+@fecha+'.bak'
BACKUP DATABASE Base_De_Datos_Respaldada
TO DISK = @archivo
   WITH FORMAT,
      MEDIANAME = 'D_SQLServerBackups',
      NAME = 'Full Backup of ERP2012_Pycsur';
GO

El anterior archivo lo pueden guardar en un archivo de texto «archivo.sql» y se manda a llamar así:

sqlcmd -S Servidor\Instancia_BD -i C:\Ruta\archivo.sql

Ese último comando lo pueden poner en el programador de tareas y listo, proceso automatizado ñ_ñ

6 comentarios en “Programar respaldos SQL Server 2008 r2 express”

  1. SOCORRO!!!

    mi historia es complicada y necesito ayuda, ya no se que hacer.
    Tengo XP, quise instalar Dragon Age Toolset, requeria SQL server 2005 express y management (no se de sql) 3 dias tratando de instalar y configurar, consigo hacer que cargue el Toolset pero en la ventana de Paleta de Windows no aparece el arbol de carpetas encabezadas por la de Global, por lo que en la carpeta Resources del programa no aparece ningun archivo .are.
    Cansada de probar con el sql 2005, intento con el sql 2008, pero es distinto y parece estar todo en un solo paquete, no consigo crear un servidor llamado BWDATOOLSET como pide el Dragon Age Toolset, da error de conexion 26, creyendo que era un problema con la configuracion de los permisos al instalar sql 2008, lo desinstalo y al volver a querer instalarlo no pasa de la instalacion de los archivos auxiliares sin dar ningun mensaje de error.
    Por favor, necesito ayuda aunque no entienda nada de sql lo unico que quiero es hacer andar el Toolset, mi correo [email protected]

  2. Estimado,

    De todas la formas que hay en internet para respaldar las bases de datos, esta ha sido una de las mejores.
    Se agradece.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.