Você está na página 1de 6

REALIZAR COPIA DE SEGURIDAD

Para realizar un backup de una base de datos de Axapta, debemos entrar en el Administrador Corporativo de
SQL Server.
Una vez hemos llegado al nodo Bases de datos, seleccionamos la base de datos de la cual queremos relizar
una copia de seguridad. Pinchamos con el botn de la derecha -> Todas las tareas -> Copia de seguridad de
la base de datos:

El siguiente formulario es el que nos permite cambiar las opciones de la copia de seguridad. Dejaremos las
opciones por defecto (Base de datos completa, Anexar al medio). La opcin que debemos modificar es el
destino de la copia de seguridad, en nuestro caso Disco, y pulsando sobre el botn Agregar indicamos en
que directorio se depositar el archivo de la copia de seguridad.
Aceptamos y se realiza el backup.

BACKUP (Transact-SQL)
SQL Server 2008 R2
Otras versiones

Realiza una copia de seguridad completa de la base de datos o de uno o varios archivos o grupos de
archivos (BACKUP DATABASE). Adems, con el modelo de recuperacin completa o el modelo de
recuperacin optimizado para cargas masivas de registros, realiza la copia de seguridad del registro de
transacciones (BACKUP LOG).

Nota
Para obtener acceso a una introduccin a la copia de seguridad en SQL Server, vea Informacin general de
copia de seguridad (SQL Server).

Convenciones de sintaxis de Transact-SQL

Sintaxis

Transact-SQL
Copiar
Backing Up a Whole Database
BACKUP DATABASE { database_name | @database_name_var }
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

Backing Up Specific Files or Filegroups


BACKUP DATABASE { database_name | @database_name_var }
<file_or_filegroup> [ ,...n ]
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]

Creating a Partial Backup


BACKUP DATABASE { database_name | @database_name_var }
READ_WRITE_FILEGROUPS [ , <read_only_filegroup> [ ,...n ] ]
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { DIFFERENTIAL | <general_WITH_options> [ ,...n ] } ]
[;]
Backing Up the Transaction Log (full and bulk-logged recovery models)
BACKUP LOG { database_name | @database_name_var }
TO <backup_device> [ ,...n ]
[ <MIRROR TO clause> ] [ next-mirror-to ]
[ WITH { <general_WITH_options> | <log-specific_optionspec> } [ ,...n ] ]
[;]

<backup_device>::=
{
{ logical_device_name | @logical_device_name_var }
| { DISK | TAPE } =
{ 'physical_device_name' | @physical_device_name_var }
}

<MIRROR TO clause>::=
MIRROR TO <backup_device> [ ,...n ]

<file_or_filegroup>::=
{
FILE = { logical_file_name | @logical_file_name_var }
| FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }
}
<read_only_filegroup>::=
FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

<general_WITH_options> [ ,...n ]::=--Backup Set Options


COPY_ONLY
| { COMPRESSION | NO_COMPRESSION }
| DESCRIPTION = { 'text' | @text_variable }
| NAME = { backup_set_name | @backup_set_name_var }
| PASSWORD = { password | @password_variable }
| { EXPIREDATE = { 'date' | @date_var }
| RETAINDAYS = { days | @days_var } }

--Media Set Options


{ NOINIT | INIT }
| { NOSKIP | SKIP }
| { NOFORMAT | FORMAT }
| MEDIADESCRIPTION = { 'text' | @text_variable }
| MEDIANAME = { media_name | @media_name_variable }
| MEDIAPASSWORD = { mediapassword | @mediapassword_variable }
| BLOCKSIZE = { blocksize | @blocksize_variable }

--Data Transfer Options


BUFFERCOUNT = { buffercount | @buffercount_variable }
| MAXTRANSFERSIZE = { maxtransfersize | @maxtransfersize_variable }

--Error Management Options


{ NO_CHECKSUM | CHECKSUM }
| { STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

--Compatibility Options
RESTART

--Monitoring Options
STATS [ =percentage ]

--Tape Options
{ REWIND | NOREWIND }
| { UNLOAD | NOUNLOAD }

--Log-specific Options
{ NORECOVERY | STANDBY =undo_file_name }
| NO_TRUNCATE

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.

Você também pode gostar