Copias de seguridad en Sql Express

Una consulta sabez como pueder realizar copias de seguridad de mi base de datos en sql express;
La idea es que a una determinada hora se ejecute y crea la copia de seguridad (. Bak) en una determinada dirección.

4 respuestas

Respuesta
1
Tiene que ver si el sql express que tienes tiene el agente sql server
si no lo tiene no se pueden hacer respaldos a determinada hora
Pero si lo tiene, debes ir a Administración, Planes de mantenimiento y allí crear un
job o trabajo para realizar la copia de respaldo, cuando entres allí, puedes hacerlo a pie o
utilizar el asistente y lo puedes crear, solo debes seguir los pasos q. allí solicitan
si tienes alguna duda este es mi msm [email protected]
Respuesta
1
Claro
Para sqlexpress debido a que no tenemos la ayuda del agente que tiene un SQL Standard entonces es mejor apoyarnos con una tarea de windows en un archivo .bat escribe el siguiente código
@echo off
Osql -U sa -P tupasswd -S localhost\SQLEXPRESS -i respaldamidb.sql -o dimequepaso.txt
Esto ejecuta un archivo .sql que contiene el código para el respaldo, los parámetros son -U para el usuario, normalmente sa y P para contraseña, -S para el servidor que normalmente debería ser el localhost indexado por el nombre de instancia, si no usas conexión por SQL y usas por trusted connection entonces solo usa el parámetro -e
El archiv .sql debe tener el codigo siguiente
backup database mibase to disk = N'C:\ruta\de\respaldo\bck.bak' with noformat, noinit, name = N'mibase-full backup', skip, norewind, nounload, stats = 10;
GO
El archivo dimequepaso.txt solo te dirá que fue lo que paso mientras el código fue ejecutado
espero te sirva, cualquier cosa escríbeme
saludos
Respuesta
Sql Server Express no tiene soporte para Copias de Seguridad automáticas, PERO es muy sencillo hacerlo mediante scripts (en ventana de Símbolo de Sistema):
REM Son dos pasos, primero crear el "device" para la copia de seguridad en SQL SERVER:
sqlcmd -Q "EXEC sp_dropdevice 'BASEDEDATOS_BAK'"
sqlcmd -Q "EXEC sp_addumpdevice 'disk', 'BASEDEDATOS_BAK', 'C:\BACKUPS\BASEDEDATOS.BAK'"
REM y segundo, realizar la copia de seguridad:
sqlcmd -Q "BACKUP DATABASE BASEDEDATOS TO BASEDEDATOS_BAK WITH FORMAT"
Esto creará una copia de seguridad completa de la base de datos llamada BASEDEDATOS (sin incluir el log de transacciones, claro). Con ese fichero BASEDEDATOS. BAK se podrá restaurar toda la información de la base de datos (hasta el momento en que se realizó la copia, claro).
Si tienes más dudas, ya sabes, pregunta... Supongo que lo de crear una tarea programada en Windows y ejecutar estos comandos en un fichero cmd no es problema para ti.
Un saludo
PD: NOTA: entiendo que la base de datos está en el modelo de recupración "Simple", es decir que NO necesitas mantener copias de seguridad de cada una de las transacciones. Si es tu caso, quizá te convenga asegurar que el resto de tus componentes (tipo de máquina, sistema operativo, discos en mirror, etc...) son adecuados para ello. A continuación, puedes mirar en la ayuda la manera de programar las copias del log de transacciones, ya que el método será el mismo, o bien preguntar más por aquí mismo.
Respuesta
La version Express no incluye el Agente del Sql, en la version completa este se encarga de hacer este tipo de trabajos. Solo creando un Job (Trabajo en ingles).
Aquí te dejo un link, es cuestión que lo revises si funciona como dice el autor.
Saludos y suerte.
http://www.codeproject.com/KB/database/SQLAgent.aspx
Carlos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas