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
SQL SERVER Restore Database Backup using SQL Script (T-SQL) February 25, 2007 by pinaldave Database YourDB has full backup YourBaackUpFile.bak. It can be restored using following two steps. Step 1: Retrive the Logical file name of the database from backup. RESTORE FILELISTONLY FROM DISK = 'D:BackUpYourBaackUpFile.bak' GO
Step 2: Use the values in the LogicalName Column in following Step. ----Make Database to single user Mode ALTER DATABASE YourDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE ----Restore Database RESTORE DATABASE YourDB FROM DISK = 'D:BackUpYourBaackUpFile.bak' WITH MOVE 'YourMDFLogicalName' TO 'D:DataYourMDFFile.mdf', MOVE 'YourLDFLogicalName' TO 'D:DataYourLDFFile.ldf' /*If there is no error in statement before database will be in multiuser mode. If error occurs please execute following command it will convert database in multi user.*/ ALTER DATABASE YourDB SET MULTI_USER GO
Backups automticos en SQL Server 2005 Cmo realizar backups automticos con lnea de comandos en SQL Server 2005. Marcelo Ruiz, 28/08/2009 Hasta el da de hoy, no haba tenido jams la necesidad de acceder a SQL Server por lnea de comando, aunque haba trabajado accediendo a bases de datos de esta forma en varias oportunidades con MySQL y Oracle. Supuse que una herramienta as debera existir, y as es: para los que no lo conocen, el programa SQLCMD se instala con SQL Server en la carpeta C:\Archivos de programa\Microsoft SQL Server\90\Tools\Binn. La necesidad de esta herramiento surgi porque necesitaba implementar la realizacin de copias de seguridad para un cliente y es el tip que voy a compartir hoy con ustedes. Para configurar este proceso se necesita lo siguiente: 1. Crear un script SQL que realice la copia de seguridad. 2. Crear un archivo batch que ejecute el SQLCMD y el script SQL. 3. Crear una tarea programada en Windows para que llame al archivo batch con la regularidad deseada. El script backup.SQL Este script realiza un backup de la base de datos de una forma muy sencilla: 1. Setea la base de datos en modo SINGLE_USER. 2. Realiza la copia de seguridad. 3. Vuelve a setear la base de datos en modo MULTI_USER. Sin ms preambulos, los dejo con el script: 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 Lo nico que debern tener en cuenta es crear la carpeta C:\tmp con permisos de escritura para el usuario Servicio de Red y reemplazar BD por el nombre de la base de datos que desean resguardar. El archivo batch backup.bat Este archivo se encarga de llamar al SQLCMD y pasarle el script que vimos anteriormente: 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 Observen que la forma de conectarse al servidor, en la primera lnea se especifica con el flag -S, seguido del nombre del Servidor, en mi caso (local)\SQLEXPRESS. Luego, el flag -E indica conexin con autenticacin de Windows. Finalmente con el flag -i se especifica el archivo SQL a ejecutar. Pueden obtener ms informacin sobre SQLCMD en este artculo de Database Journal. En la segunda lnea procedemos a comprimir los archivos del backup, que se encuentran en la carpeta C:\TMP. Para esto utilizamos WinRAR (que deberan descargar si quieren utilizar esto). Finalmente borramos todo el contenido del directorio C:\tmp. Tengan en cuenta que si no quieren comprimir, tambin deben eliminar esta lnea. Configuracin de la tarea programada Programar tareas para su ejecucin en Windows es muy sencillo, por lo que no me voy a explayar mucho. Simplemente vayan a: Panel de Control/Tareas Programadas/Agregar tarea programada y sigan los pasos del asistente. El archivo que deberan seleccionar para ejecutarse es backup.bat y la frecuencia es a su gusto y necesidad.
BACKUP DATABASE <subuse> TO DISK = 'C:\surutu\suurchlvo.buk http://programadoressv.blogspot.com/2011/02/backup-automaticos-de-bases-de-datos.html Backup automticos de bases de datos SQL Server 2008 Hace mucho tiempo que he tenido la necesidad de generar copias de seguridad (Backup) de las bases de datos que estoy utilizando, en muchos lugares han publicado opciones que son funcionales pero que no utilizan las herramientas que SQL Server tiene, gracias a todos los lugares que visite se me vino una idea a la mente!!! se las detallo a continuacin:
Primero les comentare un poco acerca de lo que utilice para tener en el servidor la programado para la generacin de copias de seguridad automticas lo que se necesita es lo siguiente;
1.Script para la generacin de los BACKUP. 2. Agente de SQL Server.
El primer paso es crear el script que genera el respaldo de la base de datos, les dejo el script para que ustedes remplacen las variables necesarias de manera que les sirva en su objetivo:
USE nombre_de_su_base; GO declare @fecha varchar(MAX) declare @archivo varchar(MAX) set @fecha = CONVERT(Varchar(max), GETDATE(),102)+'_'+SUBSTRING(CONVERT(varchar(10), getdate(),108),1,2)+SUBSTRING(CONVERT(varchar(10), getdate(),108),4,2)+'horas' set @archivo ='C:\nombredelacarpetaBACKUP\nombre_de_su_base'+@fecha+'.bak' BACKUP DATABASE nombre_de_su_base TO DISK = @archivo WITH FORMAT, MEDIANAME = 'D_SQLServerBackups', NAME = 'Full Backup of nombre_de_su_base'; GO
Explico un poco el cdigo: Se han creado dos variables @fecha y @archivo, @fecha es la fecha en la que sea creado el respaldo, es una buena practica ponerle la fecha para identificar la antigedad del respaldo. La otra variable es @archivo la cual contiene la ruta en la que se guardara el respaldo, si lo hacen directamente en la raz de la unidad "C" es posible que tengan problemas de permiso de escrituras, por eso les recomiendo que coloquen el respaldo en una carpeta. Donde dice "nombre_de_su_base" deben cambiarlo por nombre de la base a la cual se le generara un respaldo de seguridad. El resto del cdigo es Transact-SQL, les dejo la siguiente URL para enriquezcan mas los conocimiento del mismo: http://msdn.microsoft.com/es-es/library/ms189826(v=SQL.90).aspx
Como segundo paso debemos configurar el Agente de SQL Server para programar una tarea que ser que encargada de ejecutar el Script que sea especificado en el paso uno, para ello haremos lo siguiente:
1. Iniciar sesin en el SQL Server Management para poder tener acceso a la configuracin del Agente de SQL Server.
2. Al entrar al SQL Server Management observaremos en el explorar de objetos que el agente de SQL Server que encuentra al final del arbol del explorar
Al dar click en icono del + se desplegara un submenu y en el esta la opcin de Trabajos que es lo que nos interesa.
3. Al desplegar el SubMenu del Agente de SQL Server se debe crear un nuevo trabajo, para ello debemos dar click derecho para que se desplique lo siguiente:
Como pueden observar tenemos la opcin de Nuevo trabajo, demos click ah para dar inicio la configuracin del nuevo trabajo o tarea.
4. Cuando damos click en Nuevo trabajo aparecer la siguiente ventana:
En la ventana llamada "Nuevo trabajo" se especificara el nombre que tendr la tarea que ejecutara el script para generar los respaldos de la base, adicional al nombre es recomendable que se escriba una breve descripcin de la funcionalidad.
5. Al haber especificado en nombre de la tarea, damos click en la opcin "Pasos" que se encuentra ubicada en la parte superior izquierda de la ventana "Nuevo trabajo", para configurar esa opcin se hace lo siguiente:
En la ventana "nuevo paso" especificamos el nombre, la base de datos a la cual se le har el respaldo y en la parte donde dice "Comando" hay que copiar el Script ya modificado a su conveniencia y damos un click en el botn Aceptar.
6. Ahora es el momento de programar la frecuencia con la que se generar los respaldo de seguridad, para ello damos click en la opcin "Programaciones", para configurar una programacin hacemos lo siguiente:
En la ventana "Nueva Programacin de trabajo" especificamos un nombre para poder identificar la programacin, en la seccin "Frecuencia" especificamos con que frecuencia queremos que se ejecute la tarea, para los respaldos de la base es recomendable que se haga diario o segn la necesidad, si seleccionan con una frecuencia diaria en la seccin "Frecuencia Diaria" pueden especificar la hora de inicio y fin y otros datos ms que que puede ser de utilidad. una ves sea hecho todas las especificaciones de la programacin damos aceptar y luego aceptar para terminar con la configuracin del Agente de SQL Server.
Bueno es todo lo que hay que hacer para tener la generacin de copias de seguridad de las bases de datos... Espero le ayude....
Exitos y que Dios les bendiga...
Crear respaldos automticos en SQL Server 2005 y 2008 Posted: agosto 31, 2010 by Jorge in Desarrollo Web, SQL, WebDevelopement Etiquetas: backup sql, base de datos, sql, sql 2005, sql 2008, sql server 2005 1 Esta opcin es de mucha utilidad y muy fcil de configurar, nos permite generar nuestros respaldos de base de datos de forma automtica permitiendo definir las fechas, horario, directorio donde se almacenar principalmente. El ejemplo esta realizado en SQL Server 2008 sin embargo tambin funciona en la versin 2005. Los pasos para configurarlo son: y Entrar a Microsoft SQL Server Management Studio y conectarnos a un servidor. y Dentro del arbol de opciones seleccionar Administracion (Management) ->Planes de Mantenimiento (Maintenance plan), dar clic derecho y en el men emergente y seleccionar Asistente para planes de mantenimiento (Maintenance plan Wizard). y El primer paso del asistente es definir el nombre, descripcin y forma de autentificacin, selecciona estos datos y presiona siguiente (ver imagen siguiente).
y El siguiente paso es seleccionar las tareas del plan de mantenimiento, en este ejemplo un respaldo completo de la base de datos, puedes elegir una o ms tareas de la lista. Una vez que finalices presiona el botn siguiente deber seleccionar el rden de priopridad de las tareas.
y El siguiente paso es definir configuracin de respaldo completo, se configuran los siguientes datos: base de datos(bases de datos en el respaldo), crear un archivo de respaldo para cada base de datos (opcin activada), carpeta (ruta donde se guardarn los archivos de respaldo). tambien se especifica el horario y cada cuantos dias se creara el respaldo
y Continua los pasos hasta finalizar el asistente.
y Una vez que finalices se mostrar en el rbol Administracion (Management) ->Maintenance plan el nuevo plan creado.