Inicio > Software, Windows > Hacer backups en linea de comandos de SQL Server Express 2008

Hacer backups en linea de comandos de SQL Server Express 2008

Miércoles, 19 mayo 2010 Deja un comentario Go to comments

Hola,

ultimamente estoy usando SQLServer Express 2008 por motivos de trabajo y uno de los problemas con el que me encontré es la gestión de las copias de seguridad. Aunque desde el SQL Server Management Studio podemos hacer manualmente los backups, SQL Server Express no permite crear backups programados al no disponer del SQLAgent.

Este problemilla lo podemos resolver mediante el uso de T-SQL y  scripts que nos permitan hacer el backup.

Para ello creamos un fichero al que llamamos backup.sql con los siguientes comandos de T-SQL.

BACKUP DATABASE Nombre_base_de_datos TO DISK=’C:BackupbackupBD.bak’
go

Esa secuencia de comandos hace un backup de la base de datos que le indicamos a una ubicación a disco.

Ahora creamos un fichero bat al que llamamos backup.bat con el siguiente script.

sqlcmd -S localhostSQLEXPRESS -i “C:Backupbackup.sql”

El script se conecta a la base de datos de SQLExpress en localhost y carga el fichero de comandos T-SQL que creamos anteriormente para hacer el backup.

Ahora solo nos queda hacer una tarea programada en windows para que ejecute el fichero bat según nuestro plan de copias de seguridad.

El fichero de T-SQL podemos modificarlo para añadir más opciones del backup, para ello debemos revisar la referencia de T-SQL.

También es posible generar el fichero de comandos T-SQL desde el SQL Server Management Studio. Para ello hacemos un backup manual de la base de datos con todas las opciones que nos interese y en el Menú Generar Script escogemos Generar script de acción en archivo. Este fichero desde el backup.bat.

Anuncios
Categorías:Software, Windows Etiquetas: , ,
  1. Lunes, 21 mayo 2012 en 7:50 pm

    Sí, el script se conecta a la BD en localhost, pero podría hacerlo contra una BD remota.

  2. Sumerio
    Viernes, 18 mayo 2012 en 8:59 pm

    Una consulta necesito hacer un Backup a la BD en Sql Server 2008, en donde estoy laborando para un proyecto en donde la BD me conecto por IP, y me preguntaba si se puede sacar una Backup que me genere en mi Disco Duro, y no en el servidor de BD de la empresa.
    Atte.

  3. Mariano
    Martes, 14 febrero 2012 en 2:52 pm

    Hola, se me ocurrieron dos alternativas: 1) desde SQL, hacer algún cursor que recorra el “select name from sys.databases” y que en cada una haga el “backup database ‘nombrebase’….. etc que obtiene de la consulta y 2) si hacés con programación, tipo VB.Net, cargás un datatable con los nombres de las bases y después con un for i, recorrés la tabla haciéndole un execute command de “backup database…”. No se si fui muy claro, espero que sí. Un abrazo.@gabriel

  4. Lunes, 16 mayo 2011 en 11:16 pm

    @gabriel

    La verdad, no lo se, en mi caso trabajo con unas 6-7 BD por lo que el script es suficiente.

  5. Lunes, 16 mayo 2011 en 8:34 pm

    Hola que tal! esta genial el script este, pero quisiera conocer como se puede hacer para que me haga el bkp de tooooooodas las bases de una, el problema es que tengo como unas 100 bases y cada 2 por 3 se bajan o crean nuevas.
    existe algun “backup database all_system” o algo similar?
    muchas gracias de ante mano!

  1. Lunes, 24 mayo 2010 en 9:22 pm
  2. Miércoles, 19 mayo 2010 en 12:55 pm

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: