Backups automáticos en SQL Server 2005
hoy estuve con Paul, un compañero de trabajo cuestienandonos la mejor forma de hacer respaldos en Sql Server de forma Automatica.
primero hay que generar un script al cual llamaremos backup.sql y lo crearemos en c:\
Ojo en hay que Cambiar DB por el nombre de la base de datos. Ademas este script cambia la Db a "MULTI USER".
luego crearemos backup.bat, con el siguiente contenido
Utilizamos la utilidad SQLCMD para que ejecute en backup.sql en x servidor.
Aqui hay un manual de SQLCMD
Ahora solo es cosa de programar una tarea cada x tiempo para que ejecute el bat
--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com
primero hay que generar un script al cual llamaremos backup.sql y lo crearemos en c:\
DECLARE @fecha VARCHAR(50)
DECLARE @archivo VARCHAR(50)
SET @fecha = CONVERT(VARCHAR(4), YEAR(GETDATE()))+'-'+ CONVERT(VARCHAR(2), MONTH(GETDATE()))+'-'+CONVERT(VARCHAR(2), DAY(GETDATE()))
SET @archivo = 'C:\tmp\BD_'+ @fecha +'.bak'
ALTER DATABASE BD SET SINGLE_USER WITH ROLLBACK IMMEDIATE
BACKUP DATABASE BD TO DISK = @archivo
ALTER DATABASE BD SET MULTI_USER
GO
EXIT
Ojo en hay que Cambiar DB por el nombre de la base de datos. Ademas este script cambia la Db a "MULTI USER".
luego crearemos backup.bat, con el siguiente contenido
SQLCMD -S(local)\SQLEXPRESS -E -i"C:\backup.sql"
"C:\Archivos de programa\WinRAR\rar" a BACKUP.rar c:\TMP\*.*
ECHO S | DEL c:\TMP
Utilizamos la utilidad SQLCMD para que ejecute en backup.sql en x servidor.
Aqui hay un manual de SQLCMD
Ahora solo es cosa de programar una tarea cada x tiempo para que ejecute el bat
--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com
PIENSO QUE LA FECHA SE PODRIA HACER ASI:
ResponderEliminarSET @fecha = CONVERT(varchar(8),getdate(),112)
--el 112 es para el formato yyyymmdd
Esto me ha sido muy util
ResponderEliminarAsias espero que sea lo que estoy buscando puesto que estoy intentando automatizar todas las copias de mis BBDD y solo me qeda del SQL server
ResponderEliminarGracias por el aporte muy bueno y comentarles que funciona sin problemas en la version SQL SERVER 2008 lo probe en un servidor windows 2008 server, cualquier aclaración o duda robcaa3@hotmail.com
ResponderEliminarAtentamente.
Roberto....
Buen día, como puedo hacer que el archivo backup.bat se ejecute en el servidor?
ResponderEliminaruna opcion que creo que es bastante razonable, puede ser ocupar las tareas programadas de windows.
ResponderEliminar--
Atte.
Víctor Hugo Saavedra
Para automatizar el script de backup puedes utilizar el Agente de SQL server que nos permite programas eventos, y es muy parecido a las tareas programadas de windows
ResponderEliminarAtte
Roberto Ascencio.
Te pasaste amigo, gracias por compartir tus conocimientos...
ResponderEliminarAtte. Cesar Honorio
Como podria mandar ese archivo a una ruta?
ResponderEliminarahi tiene un ejemplo para SQL 2008 utilizando el Agante de SQL: http://programadoressv.blogspot.com/
ResponderEliminarRecien leí esta publicacion y es informacion muy valiosa, gracias por compartir
ResponderEliminarVALES CHOTA
ResponderEliminarEXCELENTE APORTACION. GRACIAS
ResponderEliminarMuy bien.
ResponderEliminarAhora una consulta... Cómo lo hago para respaldar más de una BD?
Gracias.
publique respuesta mas abajo, me funcionó perfecto
EliminarPuedes hacer varios script y varios jobs.
ResponderEliminar--
Atte.
Víctor Hugo Saavedra.
Intenta esto para varias Bd, me lo encontre buscandole un poco
ResponderEliminarDECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name
SET @path = 'C:\Backup\'
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
Estoy en tsi_tecno@hotmail.com
Gracias Anónimo! Me resolviste mi problema, porque todos manejan el mismo scrip pero más complicado y no sabía como cambiar algunas opciones hasta que vi el tuyo se me hizo más fácil.
ResponderEliminarExcelente!! Muchas gracias
ResponderEliminarHi there! I know this is somewhat off-topic however I had
ResponderEliminarto ask. Does building a well-established blog such as yours require a lot of work?
I'm brand new to running a blog but I do write in my journal daily. I'd like to
start a blog so I can share my experience and thoughts online.
Please let me know if you have any kind of ideas or tips for brand new aspiring bloggers.
Appreciate it!
My website :: hardcore sex
Wonderful goods from you, man. I have understand your
ResponderEliminarstuff previous to and you're just extremely magnificent. I actually like what you have acquired here, certainly like what you're saying and the way in which
you say it. You make it enjoyable and you still care for to keep it smart.
I cant wait to read much more from you. This is actually a tremendous web site.
Here is my web page :: http://www.bhgalleries.com
Everything is very open with a precise explanation of the challenges.
ResponderEliminarIt was definitely informative. Your website is useful.
Thanks for sharing!
My blog transvestite porn video
What's up to all, how is all, I think every one is getting more from this web page, and your views are nice for new users.
ResponderEliminarMy web site porntube
This text is invaluable. How can I find out more?
ResponderEliminarFeel free to surf my web-site :: contractor in Orlando
Can you tell us more about this? I'd like to find out more details.
ResponderEliminarmy web page widyawisatabanten.com
bookmarked!!, I really like your web site!
ResponderEliminarmy homepage :: Burj Khalifa
Amazing issues here. I'm very happy to peer your article. Thank you a lot and I am having a look forward to touch you. Will you kindly drop me a e-mail?
ResponderEliminarHave a look at my blog post: www.obbf.De
Awesome post.
ResponderEliminarFeel free to visit my blog post reliablemall.com
ahora ¿Cómo se hace para respaldar ciertas tablas de la base de datos?
ResponderEliminar