Anda di halaman 1dari 15

DECLARE @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

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.

Anda mungkin juga menyukai