BACKUP (Transact-SQL)

Hace una copia de seguridad de una base de datos SQL.

Selección de un producto

En la fila siguiente, seleccione el nombre del producto que le interese; de esta manera, solo se mostrará la información de ese producto.

Para más información sobre las convenciones de sintaxis, vea Convenciones de sintaxis de Transact-SQL.

* SQL Server *  

 

SQL Server

Hace copia de seguridad de una base de datos completa de SQL Server para crear una copia de seguridad de la base de datos, o uno o más archivos o grupos de archivos de la base de datos para crear una copia de seguridad de archivo (BACKUP DATABASE). Además, con el modelo de recuperación completa o con el modelo de recuperación optimizado para cargas masivas de registros, realiza la copia de seguridad del registro de transacciones de la base de datos para crear una copia de seguridad de registros (BACKUP LOG).

Sintaxis

--Back 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 ] } ]
[;]

--Back 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 ] } ]
[;]

--Create 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 ] } ]
[;]

--Back 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_options> } [ ,...n ] ]
[;]

--Back up all the databases on an instance of SQL Server (a server)

ALTER SERVER CONFIGURATION
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
[;]

BACKUP SERVER
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { METADATA_ONLY
           | <general_WITH_options> [ ,...n ] } ]
[;]

--Back up a group of databases
ALTER DATABASE <database>
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON

ALTER DATABASE <...>
SET SUSPEND_FOR_SNAPSHOT_BACKUP ON
...

BACKUP GROUP {<database> [,... ]}
  TO <backup_device> [ ,...n ]
  [ <MIRROR TO clause> ] [ next-mirror-to ]
  [ WITH { METADATA_ONLY
           | <general_WITH_options> [ ,...n ] } ]
[;]

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

<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 [ ALGORITHM = { MS_XPRESS | accelerator_algorithm } ] | NO_COMPRESSION ]
 | DESCRIPTION = { 'text' | @text_variable }
 | NAME = { backup_set_name | @backup_set_name_var }
 | CREDENTIAL
 | ENCRYPTION
 | FILE_SNAPSHOT
 | { EXPIREDATE = { 'date' | @date_var }
        | RETAINDAYS = { days | @days_var } }
 | { METADATA_ONLY | SNAPSHOT }

--Media Set Options
   { NOINIT | INIT }
 | { NOSKIP | SKIP }
 | { NOFORMAT | FORMAT }
 | MEDIADESCRIPTION = { 'text' | @text_variable }
 | MEDIANAME = { media_name | @media_name_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 }

--Encryption Options
 ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
   SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name

<log_specific_options> [ ,...n ]::=
--Log-specific Options
   { NORECOVERY | STANDBY = undo_file_name }
 | NO_TRUNCATE

Argumentos

DATABASE

Especifica una copia de seguridad completa de la base de datos. Si se especifica una lista de archivos y grupos de archivos, solo se realiza la copia de seguridad de esos archivos o grupos de archivos. Durante una copia de seguridad completa o diferencial de una base de datos, SQL Server realiza la copia de seguridad de una parte suficiente del registro de transacciones para producir una base de datos coherente cuando se restaure la base de datos.

Al restaurar una copia de seguridad creada por BACKUP DATABASE (una copia de seguridad de datos), se restaura la copia de seguridad completa. Solo una copia de seguridad del registro se puede restaurar hasta un momento o transacción concretos dentro de la copia de seguridad.

Nota:

Solo se puede realizar una copia de seguridad completa de la base de datos master.

REGISTRO

Especifica que solo se realizará la copia de seguridad del registro de transacciones. Se realiza la copia de seguridad del registro desde la última copia de seguridad del registro ejecutada correctamente hasta el final actual del registro. Para poder crear la primera copia de seguridad de registros, debe crear una copia de seguridad completa.

Puede restaurar una copia de seguridad del registro hasta un momento o transacción concretos dentro de la copia de seguridad especificando WITH STOPAT, STOPATMARK o STOPBEFOREMARK en la instrucción RESTORE LOG.

Nota:

Después de una copia de seguridad del registro típica, algunas entradas del registro de transacciones se quedan inactivas, a menos que se especifique WITH NO_TRUNCATE o COPY_ONLY. El registro se trunca después de que todos los registros de uno o varios archivos del registro virtual se queden inactivos. Si el registro no se trunca después de las copias de seguridad del registro rutinarias, algo podría estar retrasando el truncamiento de los registros. Para más información, vea Factores que pueden ralentizar el truncamiento del registro.

GROUP (<database>,...n)

Introducido en SQL Server 2022 (16.x).

Realice una copia de seguridad de un grupo de bases de datos. Usa la copia de seguridad de instantáneas. Requiere WITH METADATA_ONLY. Consulte Creación de una copia de seguridad de instantáneas de Transact-SQL.

SERVER

Introducido en SQL Server 2022 (16.x).

Realice una copia de seguridad de todas las bases de datos en una instancia de SQL Server. Usa la copia de seguridad de instantáneas. Requiere WITH METADATA_ONLY. Consulte Creación de una copia de seguridad de instantáneas de Transact-SQL.

METADATA_ONLY

Introducido en SQL Server 2022 (16.x).

Necesario para la copia de seguridad de instantáneas. BACKUP SERVER, o BACKUP GROUP... Consulte Creación de una copia de seguridad de instantáneas de Transact-SQL.

METADATA_ONLY es sinónimo de SNAPSHOT. La interfaz de dispositivo virtual (VDI) usa SNAPSHOT. Para obtener información sobre VDI, consulte Referencia de interfaces de dispositivo virtual (VDI).

{ database_name | @database_name_var }

Es la base de datos para la que se realiza la copia de seguridad del registro de transacciones, de una parte de la base de datos o de la base de datos completa. Si se proporciona como una variable (@database_name_var), este nombre se puede especificar como una constante de cadena (@database_name_var=database name) o como una variable de un tipo de datos de cadena de caracteres, excepto los tipos de datos ntext o text.

Nota:

No se puede hacer una copia de seguridad de la base de datos reflejada en una asociación de creación de reflejo de la base de datos.

<> file_or_filegroup [ ,...n ]

Se utiliza solo con BACKUP DATABASE, especifica un grupo de archivos o un archivo de copia de seguridad que se va a incluir en una copia de seguridad de archivos, o especifica un grupo de archivos o un archivo de solo lectura que se va a incluir en una copia de seguridad parcial.

FILE = { logical_file_name | @logical_file_name_var }

Es el nombre lógico de un archivo o una variable cuyo valor equivale al nombre lógico de un archivo que se va a incluir en la copia de seguridad.

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

Es el nombre lógico de un grupo de archivos o una variable cuyo valor equivale al nombre lógico de un grupo de archivos que se va a incluir en la copia de seguridad. En el modelo de recuperación simple, se permite la copia de seguridad de un grupo de archivos solo si se trata de un grupo de archivos de solo lectura.

Nota:

Considere la posibilidad de utilizar copias de seguridad de archivos cuando el tamaño y los requisitos de rendimiento de la base de datos no permitan realizar una copia de seguridad completa de la base de datos. El dispositivo NUL se puede usar para probar el rendimiento de las copias de seguridad, pero no debe usarse en entornos de producción.

n
Es un marcador de posición que indica que se pueden especificar varios archivos y grupos de archivos en una lista separada por comas. El número es ilimitado.

Para más información, vea Copias de seguridad de archivos completas y Realizar copias de seguridad de archivos y grupos de archivos.

READ_WRITE_FILEGROUPS [ , FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var } [ ,...n ] ]

Especifica una copia de seguridad parcial. Una copia de seguridad parcial incluye todos los archivos de lectura/escritura en una base de datos: el grupo de archivos principal y los grupos de archivos secundarios de lectura/escritura, así como los grupos de archivos o archivos de solo lectura especificados.

READ_WRITE_FILEGROUPS

Especifica que en la copia de seguridad parcial se copiarán todos los grupos de archivos de lectura/escritura. Si la base de datos es de solo lectura, READ_WRITE_FILEGROUPS incluye tan solo el grupo de archivos principal.

Importante

Si se enumeran de forma explícita los grupos de archivos de lectura/escritura con FILEGROUP en vez de READ_WRITE_FILEGROUPS, se crea una copia de seguridad de archivos.

FILEGROUP = { logical_filegroup_name | @logical_filegroup_name_var }

Es el nombre lógico de un grupo de archivos de solo lectura o una variable cuyo valor equivale al nombre lógico de un grupo de archivos de solo lectura que se va a incluir en la copia de seguridad parcial. Para más información, vea "<file_or_filegroup>" anteriormente en este artículo.

n
Es un marcador de posición que indica que se pueden especificar varios grupos de archivos de solo lectura en una lista separada por comas.

Para más información sobre las copias de seguridad parciales, vea Copias de seguridad parciales.

TO <backup_device> [ ,...n ]

Indica que el conjunto de dispositivos de copia de seguridad correspondiente es un conjunto de medios no reflejado o el primero de los reflejos de un conjunto de medios reflejado (para los que se declaran una o más cláusulas MIRROR TO).

<backup_device>
Especifica el dispositivo de copia de seguridad físico o lógico que se va a utilizar para la operación de copia de seguridad.

{ logical_device_name | @logical_device_name_var }

Se aplica a: SQL Server
Es el nombre lógico del dispositivo de copia de seguridad en que se hace la copia de seguridad de la base de datos. El nombre lógico debe seguir las reglas definidas para los identificadores. Si se proporciona como una variable (@logical_device_name_var), el nombre del dispositivo de copia de seguridad se puede especificar como una constante de cadena (@logical_device_name_var= nombre lógico del dispositivo de copia de seguridad) o como una variable de tipo de datos de cadena de caracteres, excepto los tipos de datos ntext o text.

{ DISK | TAPE | URL} = { 'physical_device_name' | @physical_device_name_var | 'NUL' }

Se aplica a: SQL Server (URL a partir de SQL Server 2012 (11.x) SP1 CU2)

Especifica un archivo de disco o un dispositivo de cinta, o una dirección URL.

El formato de dirección URL se usa para crear copias de seguridad en Microsoft Azure Blob Storage o en el almacenamiento de objetos compatible con S3. Para más información y ejemplos, consulte:

Nota:

El dispositivo de disco NUL descartará toda la información que se le envíe y solo se debe usar para realizar pruebas. No se debe usar en entornos de producción.

Importante

A partir de SQL Server 2012 (11.x) SP1 CU2 y hasta SQL Server 2014 (12.x), cuando se hagan copias de seguridad en la dirección URL para Azure Blob Storage, solo se podrán hacer en un único dispositivo. Para hacer una copia de seguridad en varios dispositivos al realizar copias de seguridad en direcciones URL, debe usar SQL Server 2016 (13.x) y versiones posteriores, y tokens de firma de acceso compartido (SAS). Para ver ejemplos sobre cómo crear una Firma de acceso compartido, vea Copia de seguridad en URL de SQL Server y Simplifying creation of SQL Credentials with Shared Access Signature (SAS) tokens on Azure Storage with Powershell (Simplificación de la creación de credenciales de SQL con tokens de firmas de acceso compartido [SAS] en Almacenamiento de Azure con PowerShell).

No es necesario que exista un dispositivo de disco antes de que se especifique en una instrucción BACKUP. Si el dispositivo físico existe y no se especifica la opción INIT en la instrucción BACKUP, la copia de seguridad se anexa al dispositivo.

Nota:

El dispositivo NUL descartará todas las entradas que se envíen a este archivo, si bien la copia de seguridad seguirá marcando todas las páginas para reflejar que se ha hecho una copia de seguridad de ellas.

Para obtener más información, vea Dispositivos de copia de seguridad.

Nota:

La opción TAPE se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan.

n
Es un marcador de posición que indica que se pueden especificar hasta 64 dispositivos de copia de seguridad en una lista separada por comas.

MIRROR TO <backup_device> [ ,...n ]

Especifica un conjunto de hasta tres dispositivos de copia de seguridad, cada uno de los cuales crea un reflejo de los dispositivos de copia de seguridad especificados en la cláusula TO. La cláusula MIRROR TO debe incluir el mismo número y tipo de dispositivos de copia de seguridad que la cláusula TO. El número máximo de cláusulas MIRROR TO es tres.

Esta opción solo está disponible en la edición Enterprise de SQL Server.

Nota:

Para MIRROR TO = DISK, BACKUP determina automáticamente el tamaño de bloque apropiado de los dispositivos de disco en función del tamaño de sector del disco. Si al disco MIRROR TO se le aplica formato con un tamaño de sector diferente al del disco especificado como dispositivo de copia de seguridad principal, se producirá un error en el comando de copia de seguridad. Para reflejar las copias de seguridad en dispositivos que tienen diferentes tamaños de sector, se debe especificar el parámetro BLOCKSIZE y debe establecerse en el tamaño de sector más alto entre todos los dispositivos de destino. Para obtener más información sobre el tamaño de bloque, vea "BLOCKSIZE" más adelante en este tema.

<backup_device>
Vea "<backup_device>", en un apartado anterior de esta sección.

n
Es un marcador de posición que indica que se pueden especificar hasta 64 dispositivos de copia de seguridad en una lista separada por comas. El número de dispositivos de la cláusula MIRROR TO debe ser igual al número de dispositivos de la cláusula TO.

Para más información, vea "Familias de medios en conjuntos de medios reflejados" en la sección Comentarios más adelante en este artículo.

[ next-mirror-to ]
Es un marcador de posición que indica que una sola instrucción BACKUP puede contener hasta tres cláusulas MIRROR TO, además de una sola cláusula TO.

Opciones de WITH

Especifica las opciones que se van a utilizar con una operación de copia de seguridad.

CREDENTIAL

Se aplica a: SQL Server (a partir de SQL Server 2012 (11.x) SP1 CU2).

Solo se usa al crear una copia de seguridad en Azure Blob Storage.

FILE_SNAPSHOT

Se aplica a: SQL Server (a partir de SQL Server 2016 (13.x)).

Se usa para crear una instantánea de Azure de los archivos de base de datos cuando todos los archivos de base de datos de SQL Server se han almacenado usando Azure Blob Storage. Para más información, vea Archivos de datos de SQL Server en Microsoft Azure. La copia de seguridad de instantánea de SQL Server toma instantáneas de Azure de los archivos de base de datos (archivos de datos y de registro) en un estado coherente. Un conjunto coherente de instantáneas de Azure conforma una copia de seguridad y se registra en el archivo de copia de seguridad. La única diferencia entre BACKUP DATABASE TO URL WITH FILE_SNAPSHOT y BACKUP LOG TO URL WITH FILE_SNAPSHOT es que este último también trunca el registro de transacciones, cosa que no hace el primero. Con la copia de seguridad de instantánea de SQL Server, después de la copia de seguridad completa inicial que SQL Server requiere para establecer la cadena de copia de seguridad, solo se necesita una copia de seguridad del registro de transacciones para restaurar una base de datos al momento en el tiempo de la copia de seguridad del registro de transacciones. Además, solo se necesitan dos copias de seguridad del registro de transacciones para restaurar una base de datos a un momento en el tiempo dentro del intervalo entre ambas copias de seguridad del registro de transacciones.

DIFFERENTIAL

Se utiliza solo con BACKUP DATABASE. Especifica que la copia de seguridad de la base de datos o el archivo solo debe estar compuesta por las partes de la base de datos o el archivo que hayan cambiado desde la última copia de seguridad completa. Una copia de seguridad diferencial suele ocupar menos espacio que una copia de seguridad completa. Utilice esta opción para que no tenga que aplicar todas las copias de seguridad del registro individuales efectuadas desde que se realizó la última copia de seguridad completa.

Nota:

De forma predeterminada, BACKUP DATABASE crea una copia de seguridad completa.

Para obtener más información, vea Copias de seguridad diferenciales.

ENCRYPTION

Se utiliza para especificar el cifrado para una copia de seguridad. Puede especificar un algoritmo de cifrado para cifrar la copia de seguridad o especificar NO_ENCRYPTION para no hacer que la copia de seguridad se cifre. El cifrado es una práctica recomendada para ayudar a proteger los archivos de copia de seguridad. La lista de algoritmos que puede especificar son:

  • AES_128
  • AES_192
  • AES_256
  • TRIPLE_DES_3KEY
  • NO_ENCRYPTION

Si elige cifrar, tendrá que especificar el sistema de cifrado mediante estas opciones de cifrado:

  • SERVER CERTIFICATE = Encryptor_Name
  • SERVER ASYMMETRIC KEY = Encryptor_Name

SERVER CERTIFICATE y SERVER ASYMMETRIC KEY son un certificado y una clave asimétrica creados en la base de datos master. Para obtener más información, consulte CREATE CERTIFICATE y CREATE ASYMMETRIC KEY respectivamente.

Advertencia

Cuando se usa cifrado junto con el argumento FILE_SNAPSHOT, el propio archivo de metadatos se cifra con el algoritmo de cifrado especificado, y el sistema comprueba si el Cifrado de datos transparente (TDE) se ha completado en relación con la base de datos. No se aplica más cifrado a los datos. La copia de seguridad no se realiza si la base de datos no está cifrada o si el cifrado no se completa antes de que se emita la instrucción BACKUP.

Opciones de conjunto de copia de seguridad

Estas opciones funcionan en el conjunto de copia de seguridad que se crea con esta operación de copia de seguridad.

Nota:

Para especificar un conjunto de copia de seguridad en una operación de restauración, use la opción FILE = <backup_set_file_number>. Para más información sobre cómo especificar un conjunto de copia de seguridad, vea "Especificar un conjunto de copia de seguridad" en Argumentos de RESTORE.

COPY_ONLY

Especifica que la copia de seguridad es una copia de seguridad de solo copia, lo que no afecta a la secuencia normal de copias de seguridad. Se crea una copia de seguridad de solo copia independientemente de las copias de seguridad convencionales programadas regularmente. Una copia de seguridad de solo copia no afecta a los procedimientos de copias de seguridad y restauración generales de la base de datos.

Las copias de seguridad de solo copia deben utilizarse en situaciones en las que se realiza una copia de seguridad con un fin específico, por ejemplo al hacer la copia de seguridad del registro antes de una restauración de archivos en línea. Normalmente, una copia de seguridad de solo copia se usa una vez y se elimina.

  • Cuando se usa con BACKUP DATABASE, la opción COPY_ONLY crea una copia de seguridad completa que no se puede usar como una base diferencial. El mapa de bits diferencial no se actualiza y las copias de seguridad diferenciales se comportan como si no existiera la copia de seguridad de solo copia. Las copias de seguridad diferenciales posteriores usarán la copia de seguridad completa convencional más reciente como base.

    Importante

    Si DIFFERENTIAL y COPY_ONLY se usan juntas, COPY_ONLY se omite y se crea una copia de seguridad diferencial.

  • Cuando se usa con BACKUP LOG, la opción COPY_ONLY crea una copia de seguridad del registro de solo copia , lo que no trunca el registro de transacciones. La copia de seguridad del registro de solo copia no afecta a la cadena de registros y otras copias de seguridad del registro se comportan como si no existiera la copia de seguridad de solo copia.

Para obtener más información, vea Copias de seguridad de solo copia.

[ COMPRESSION [ ALGORITHM = ( { MS_XPRESS | accelerator_algorithm } ) ] | NO_COMPRESSION ]

Especifica si la compresión de copia de seguridad se realiza en esta copia de seguridad, lo que invalida la configuración predeterminada del servidor.

Durante la instalación, el comportamiento predeterminado es que no se realice la compresión de copia de seguridad. Este valor predeterminado se puede cambiar estableciendo la opción valor predeterminado de compresión de copia de seguridad de la configuración del servidor. Para más información sobre cómo ver el valor actual de esta opción, vea Ver o cambiar las propiedades del servidor.

Para más información sobre cómo usar la compresión de copia de seguridad con bases de datos con Cifrado de datos transparente (TDE) habilitado, vea la sección Comentarios.

COMPRESSION
Habilita de forma explícita la compresión de copia de seguridad.

NO_COMPRESSION
Deshabilita de forma explícita la compresión de copia de seguridad.

SQL Server 2022 (16.x) presenta ALGORITHM, que identifica un algoritmo de compresión para la operación. El valor predeterminado es MS_XPRESS. Si ha configurado la aceleración integrada y la descarga, puede usar un acelerador proporcionado por la solución. Por ejemplo, si ha configurado Intel® QuickAssist Technology (QAT) para SQL Server, en el ejemplo siguiente se completa la copia de seguridad con la solución de aceleración, con la biblioteca QATzip mediante QZ_DEFLATE con el nivel de compresión 1.

BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE) 

DESCRIPTION = { 'text' | @text_variable }

Especifica el texto de forma libre que describe el conjunto de copia de seguridad. La cadena puede tener un máximo de 255 caracteres.

NAME = { backup_set_name | @backup_set_var }

Especifica el nombre del conjunto de copia de seguridad. Los nombres pueden tener un máximo de 128 caracteres. Si no se especifica NAME, está en blanco.

{ EXPIREDATE ='date' | RETAINDAYS = days }

Especifica cuándo se puede sobrescribir el conjunto de copia de seguridad para esta copia de seguridad. Si se usan las dos opciones, RETAINDAYS tiene precedencia sobre EXPIREDATE.

Si no se especifica ninguna opción, la fecha de expiración se determina con el valor de configuración media retention. Para obtener más información, vea Opciones de configuración de servidor.

Importante

Estas opciones solo impiden que SQL Server sobrescriba un archivo. Las cintas se pueden borrar utilizando otros métodos, y los archivos de disco se pueden eliminar usando el sistema operativo. Para obtener más información acerca de la comprobación de la expiración, vea SKIP y FORMAT en este tema.

EXPIREDATE = { 'date' | @date_var }
Especifica cuándo expira el conjunto de copia de seguridad y se puede sobrescribir. Si se proporciona como una variable (@date_var), esta fecha debe seguir el formato datetime configurado para el sistema y se debe especificar de uno de los siguientes modos:

  • Constante de cadena (@date_var= date)
  • Variable de un tipo de datos de cadena de caracteres (excepto los tipos de datos ntext o text)
  • Un smalldatetime
  • Una variable datetime

Por ejemplo:

  • 'Dec 31, 2020 11:59 PM'
  • '1/1/2021'

Para más información sobre cómo especificar valores datetime, vea Tipos de fecha y hora.

Nota:

Para omitir la fecha de caducidad, use la opción SKIP.

RETAINDAYS = { days | @days_var }
Especifica el número de días que deben transcurrir antes de que se pueda sobrescribir este conjunto de medios de copia de seguridad. Si se proporciona como una variable (@days_var), se debe especificar como un entero.

{ METADATA_ONLY | SNAPSHOT }

Se aplica a: SQL Server 2022 (16.x)

METADATA_ONLY y SNAPSHOT son sinónimos.

Opciones de conjuntos de medios

Estas opciones funcionan para todo el conjunto de medios.

{ NOINIT | INIT }

Controla si la operación de copia de seguridad anexa o sobrescribe los conjuntos de copias de seguridad existentes en el medio. El valor predeterminado es anexar al conjunto de copias de seguridad más reciente en el medio (NOINIT).

Nota:

Para más información sobre las interacciones entre { NOINIT | INIT } y { NOSKIP | SKIP }, vea Comentarios más adelante en este tema.

NOINIT
Indica que el conjunto de copia de seguridad se anexa al conjunto de medios especificado, conservando así los conjuntos de copia de seguridad existentes. Si se ha definido una contraseña para el conjunto de medios, debe proporcionarla. NOINIT es el valor predeterminado.

Para obtener más información, vea Conjuntos de medios, familias de medios y conjuntos de copias de seguridad.

INIT
Especifica que se deben sobrescribir todos los conjuntos de copia de seguridad, pero conserva el encabezado de medios. Si se especifica INIT, se sobrescriben todos los conjuntos de copia de seguridad existentes en el dispositivo, si las condiciones lo permiten. De forma predeterminada, BACKUP comprueba las siguientes condiciones y no sobrescribe los medios de copia de seguridad en caso de existir alguna de las condiciones siguientes:

  • Aún no ha expirado ningún conjunto de copia de seguridad. Para más información, vea las opciones EXPIREDATE y RETAINDAYS.
  • El nombre del conjunto de copia de seguridad proporcionado en la instrucción BACKUP, si se especificó, no coincide con el nombre de los medios de copia de seguridad. Para obtener más información, vea la opción NAME, descrita anteriormente de esta sección.

Para invalidar estas comprobaciones, use la opción SKIP.

Para obtener más información, vea Conjuntos de medios, familias de medios y conjuntos de copias de seguridad.

{ NOSKIP | SKIP }

Controla si una operación de copia de seguridad comprueba la fecha y la hora de expiración de los conjuntos de copia de seguridad en el medio antes de sobrescribirlos.

Nota:

Para más información sobre las interacciones entre { NOINIT | INIT } y { NOSKIP | SKIP }, vea "Comentarios" más adelante en este tema.

NOSKIP
Indica a la instrucción BACKUP que compruebe la fecha de expiración de todos los conjuntos de copia de seguridad de los medios antes de permitir que se sobrescriban. Este es el comportamiento predeterminado.

SKIP
Deshabilita la comprobación de la expiración y el nombre del conjunto de copia de seguridad que suele realizar la instrucción BACKUP para impedir que se sobrescriban los conjuntos de copia de seguridad. Para obtener más información acerca de las interacciones entre { INIT | NOINIT } y { NOSKIP | SKIP }, vea "Comentarios", más adelante en este artículo. Para ver las fechas de expiración de los conjuntos de copias de seguridad, consulte la columna expiration_date de la tabla del historial de backupset.

{ NOFORMAT | FORMAT }

Especifica si debe escribirse el encabezado de medios en los volúmenes usados en esta operación de copia de seguridad, con lo que se sobrescribirán los conjuntos de copias de seguridad y el encabezado de medios existentes.

NOFORMAT
Especifica que la operación de copia de seguridad conservará los conjuntos de copias de seguridad y el encabezado de medios existentes en los volúmenes de medios usados en esta operación de copia de seguridad. Este es el comportamiento predeterminado.

FORMAT
Especifica que se debe crear un conjunto de medios nuevo. FORMAT hace que la operación de copia de seguridad escriba un nuevo encabezado de medios en todos los volúmenes de medios usados en la operación de copia de seguridad. El contenido existente del volumen no será válido porque se sobrescribirán los conjuntos de copias de seguridad y el encabezado de medios existentes.

Importante

Use FORMAT con cuidado. Al dar formato a cualquier volumen de un conjunto de medios, todo el conjunto de medios se convierte en inutilizable. Por ejemplo, si inicializa una cinta que pertenece a un conjunto de medios distribuido, queda inutilizable todo el conjunto de medios.

La especificación de FORMAT implica SKIP y no es necesario especificar SKIP de forma explícita.

MEDIADESCRIPTION = { text | @text_variable }

Especifica la descripción de texto de forma libre, con un máximo de 255 caracteres, del conjunto de medios.

MEDIANAME = { media_name | @media_name_variable }

Especifica el nombre del medio para el conjunto completo de medios de copia de seguridad. El nombre del medio no puede tener más de 128 caracteres. Si se especifica MEDIANAME, debe coincidir con el nombre de medio especificado que ya existe en los volúmenes de copia de seguridad. Si no se especifica o se especifica la opción SKIP, no se realiza la comprobación del nombre del medio.

BLOCKSIZE = { blocksize | @blocksize_variable }

Especifica el tamaño de bloque físico, en bytes. Los tamaños admitidos son 512, 1024, 2048, 4096, 8192, 16384, 32768 y 65536 (64 KB) bytes. El valor predeterminado es 65536 para dispositivos de cinta y 512 para otros dispositivos. Normalmente, esta opción no es necesaria, ya que BACKUP selecciona automáticamente un tamaño de bloque apropiado para el dispositivo. La especificación explícita de un tamaño de bloque invalida la selección automática del tamaño de bloque.

Si va a realizar una copia de seguridad en CD-ROM que pretende utilizar para copiar y restaurar, especifique BLOCKSIZE=2048.

Nota:

Normalmente, esta opción solo afecta al rendimiento al escribir en dispositivos de cinta.

Opciones de transferencia de datos

BUFFERCOUNT = { buffercount | @buffercount_variable }

Especifica el número total de búferes de E/S que se van a utilizar para la operación de copia de seguridad. Puede especificar cualquier entero positivo; no obstante, un número de búferes demasiado grande podría provocar errores de "memoria insuficiente" a causa de un espacio de direcciones virtuales inadecuado en el proceso Sqlservr.exe.

El espacio total usado por los búferes está determinado por: BUFFERCOUNT * MAXTRANSFERSIZE.

Nota:

Para obtener información importante sobre cómo usar la opción BUFFERCOUNT, vea el blog Incorrect BufferCount data transfer option can lead to OOM condition (Una opción de transferencia de datos BufferCount incorrecta puede agotar la memoria).

MAXTRANSFERSIZE = { maxtransfersize | @ maxtransfersize_variable }

Especifica la unidad de transferencia mayor (en bytes) que se debe usar entre SQL Server y el medio de copia de seguridad. Los valores posibles son múltiplos de 65536 bytes (64 KB), hasta un máximo de 4194304 bytes (4 MB).

Al crear copias de seguridad con el Servicio del objeto de escritura de SQL, si la base de datos tiene configurado FILESTREAM o incluye grupos de archivos con optimización para memoria, el valor de MAXTRANSFERSIZE en el momento de una restauración debe ser mayor o igual que el valor de MAXTRANSFERSIZE que se usó cuando se creó la copia de seguridad.

En el caso de las bases de datos con Cifrado de datos transparente (TDE) habilitado que tienen un único archivo de datos, el valor predeterminado de MAXTRANSFERSIZE es 65536 (64 KB). En las bases de datos que no tienen cifrado TDE, el valor predeterminado de MAXTRANSFERSIZE es 1048576 (1 MB) cuando se usa la copia de seguridad en DISK y 65536 (64 KB) al usar VDI o TAPE. Para más información sobre cómo usar la compresión de copia de seguridad con bases de datos con Cifrado de datos transparente (TDE), vea la sección Comentarios.

Opciones de administración de errores

Estas opciones permiten determinar si se habilitarán las sumas de comprobación de copia de seguridad para la operación de copia de seguridad y si ésta se detiene al encontrar un error.

{ NO_CHECKSUM | CHECKSUM }

Controla si las sumas de comprobación de copia de seguridad están habilitadas.

NO_CHECKSUM
Deshabilita de forma explícita la generación de sumas de comprobación de copia de seguridad (y la validación de sumas de comprobación de página). Este es el comportamiento predeterminado.

CHECKSUM
Especifica que la operación de copia de seguridad comprueba en cada página si hay suma de comprobación y página rasgada (si está habilitada y disponible) y generará una suma de comprobación para toda la copia de seguridad.

El uso de sumas de comprobación de copia de seguridad puede afectar al rendimiento de la carga de trabajo y de copia de seguridad.

Para más información, vea Errores posibles de medios durante copia de seguridad y restauración.

{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

Controla si una operación de copia de seguridad se detiene o continúa después de encontrar un error en la suma de comprobación de página.

STOP_ON_ERROR
Indica a BACKUP que dé error si no se comprueba una suma de comprobación de página. Este es el comportamiento predeterminado.

CONTINUE_AFTER_ERROR
Indica a BACKUP que continúe a pesar de la detección de errores como sumas de comprobación no válidas o páginas rasgadas.

Si no puede hacer la copia de seguridad del final del registro con la opción NO_TRUNCATE cuando la base de datos está dañada, puede intentar realizar una copia de seguridad de registros después del registro especificando CONTINUE_AFTER_ERROR en vez de NO_TRUNCATE.

Para más información, vea Errores posibles de medios durante copia de seguridad y restauración.

Opciones de compatibilidad

RESTART

A partir de SQL Server 2008 (10.0.x), no tiene ningún efecto. La versión acepta esta opción por compatibilidad con versiones anteriores de SQL Server.

Opciones de supervisión

ESTADÍSTICAS [ = porcentaje ]

Muestra un mensaje cada vez que se completa otro percentage; se usa para indicar el progreso. Si percentage se omite, SQL Server muestra un mensaje después de completar cada 10 por ciento.

La opción STATS informa del porcentaje completado desde el umbral para informar del próximo intervalo. Éste es aproximadamente el porcentaje especificado; por ejemplo, con STATS=10, si la cantidad completada equivale al 40 por ciento, la opción puede mostrar el 43 por ciento. En el caso de los conjuntos de copia de seguridad de gran tamaño, esto no representa ningún problema porque el porcentaje completado se mueve muy lentamente entre las llamadas de E/S.

Opciones de cinta

Estas opciones solo se utilizan para dispositivos de cinta. Se omitirán si se utiliza otro tipo de dispositivo.

{ REWIND | NOREWIND }

REWIND
Especifica que SQL Server libera y rebobina la cinta. REWIND es la opción predeterminada.

NOREWIND
Especifica que SQL Server mantendrá la cinta abierta tras la operación de copia de seguridad. Puede utilizar esta opción como ayuda para mejorar el rendimiento al realizar varias operaciones de copia de seguridad en una cinta.

NOREWIND implica NOUNLOAD, y estas opciones son incompatibles en una sola instrucción BACKUP.

Nota:

Si se usa NOREWIND, la instancia de SQL Server conserva la propiedad de la unidad de cinta hasta que una instrucción BACKUP o RESTORE que se ejecuta en el mismo proceso use la opción REWIND o UNLOAD, o bien se cierra la instancia del servidor. Mantener abierta la cinta evita que otros procesos obtengan acceso a la misma. Para más información sobre cómo mostrar una lista de cintas abiertas y cómo cerrar una cinta abierta, vea Dispositivos de copia de seguridad.

{ UNLOAD | NOUNLOAD }

Nota:

UNLOAD y NOUNLOAD son opciones de configuración de sesión que persisten mientras dure la sesión o hasta que se restablezca especificando la alternativa.

UNLOAD
Especifica que la cinta se rebobina y descarga automáticamente al terminar la copia de seguridad. UNLOAD es el valor predeterminado cuando se inicia una sesión.

NOUNLOAD
Especifica que, tras la operación de BACKUP, la cinta permanece cargada en la unidad de cinta.

Nota:

En una copia de seguridad de un dispositivo de cinta, la opción BLOCKSIZE afecta al rendimiento de la operación de copia de seguridad. Normalmente, esta opción solo afecta al rendimiento al escribir en dispositivos de cinta.

Opciones específicas del registro

Estas opciones solo se usan con BACKUP LOG.

Nota:

Si no desea hacer copias de seguridad del registro, use el modelo de recuperación simple. Para más información, consulte Modelos de recuperación.

{ NORECOVERY | STANDBY = undo_file_name }

NORECOVERY
Realiza una copia de seguridad del registro después del error y deja la base de datos en el estado RESTORING. NORECOVERY resulta útil cuando, en caso de error, se conmuta a una base de datos secundaria y al guardar los registros después del error antes de una operación RESTORE.

Para hacer una copia de seguridad del registro óptima que omita el truncamiento de los registros y, después, establecer la base de datos en el estado RESTORING de forma atómica, use las opciones NO_TRUNCATE y NORECOVERY conjuntamente.

STANDBY =standby_file_name
Realiza una copia de seguridad del final del registro y deja la base de datos en modo de solo lectura y en el estado STANDBY. La cláusula STANDBY escribe datos en espera (realiza la reversión, pero con la posibilidad de recuperaciones posteriores). El uso de la opción STANDBY es equivalente a BACKUP LOG WITH NORECOVERY seguido de RESTORE WITH STANDBY.

El uso del modo de espera requiere un archivo en espera especificado mediante standby_file_name, cuya ubicación se almacena en el registro de la base de datos. Si el archivo especificado ya existe, el Motor de base de datos lo sobrescribe; si no existe, Motor de base de datos lo crea. El archivo en espera pasa a formar parte de la base de datos.

Este archivo contiene los cambios revertidos, que se deben invertir si las operaciones RESTORE LOG se van a aplicar posteriormente. Debe haber suficiente espacio en disco para permitir el crecimiento del archivo en espera de manera que pueda contener todas las páginas distintas de la base de datos que se modificaron al revertir las transacciones sin confirmar.

NO_TRUNCATE

Especifica que el registro de transacciones no se debe truncar y provoca que el Motor de base de datos intente hacer la copia de seguridad con independencia del estado de la base de datos. Por consiguiente, una copia de seguridad realizada con NO_TRUNCATE puede tener metadatos incompletos. Esta opción permite realizar copias de seguridad del registro de transacciones cuando la base de datos está dañada.

La opción NO_TRUNCATE de BACKUP LOG es equivalente a la especificación de COPY_ONLY y CONTINUE_AFTER_ERROR.

Sin la opción NO_TRUNCATE, la base de datos debe estar en el estado ONLINE. Si la base de datos está en el estado SUSPENDED, podría poder crear una copia de seguridad especificando NO_TRUNCATE. Pero si la base de datos se encuentra en el estado OFFLINE o EMERGENCY, no se admite BACKUP, ni siquiera con NO_TRUNCATE. Para más información sobre los estados de las bases de datos, vea el Estados de base de datos.

Cómo trabajar con copias de seguridad de SQL Server

En esta sección se presentan los siguiente conceptos esenciales de la copia de seguridad:

Tipos de copia de seguridadTruncamiento del registro de transaccionesDar formato a los medios de copia de seguridadTrabajar con dispositivos de copia de seguridad y conjuntos de mediosRestaurar copias de seguridad SQL Server

Nota:

Para ver una introducción a las copias de seguridad en SQL Server, vea Información general de copia de seguridad.

Tipos de copia de seguridad

Los tipos de copia de seguridad admitidos dependen del modelo de recuperación de la base de datos y son los siguientes:

  • Todos los modelos de recuperación admiten copias de seguridad de datos completas y diferenciales.

    Ámbito de la copia de seguridad Tipos de copia de seguridad
    Base de datos completa Las copias de seguridad de bases de datos abarcan toda la base de datos.

    Opcionalmente, cada copia de seguridad de base de datos puede servir como la base de una serie de una o más copias de seguridad de base de datos diferenciales.
    Base de datos parcial Las copias de seguridad parciales abarcan grupos de archivos de lectura o escritura y, posiblemente, uno o varios grupos de archivos o archivos de solo lectura.

    Opcionalmente, cada copia de seguridad parcial puede servir como la base de una serie de una o más copias de seguridad parciales diferenciales.
    Archivo o grupo de archivos Las copias de seguridad de archivos abarcan uno o varios archivos o grupos de archivos, y solo son relevantes para las bases de datos que contengan varios grupos de archivos. En el modelo de recuperación simple, las copias de seguridad de archivos se limitan básicamente a los archivos secundarios de solo lectura.
    Opcionalmente, cada copia de seguridad de archivos puede servir como la base de una serie de una o más copias de seguridad de archivos diferenciales.
  • En el modelo de recuperación completa o el modelo de recuperación optimizado para cargas masivas de registros, las copias de seguridad convencionales también incluyen copias de seguridad de registros de transacciones secuenciales (o copias de seguridad de registros), las que sean necesarias. Cada copia de seguridad del registro cubre la parte del registro de transacciones que estaba activa al crear la copia de seguridad e incluye todos los registros que no se copiaron en una copia de seguridad del registro anterior.

    Para reducir lo máximo posible el riesgo de perder trabajo, lo que supondría una sobrecarga de trabajo administrativo, debería programar copias de seguridad del registro frecuentes. La programación de copias de seguridad diferenciales entre copias de seguridad completas puede reducir el tiempo de restauración al disminuir el número de copias de seguridad del registro que se deben restaurar después de restaurar los datos.

    Recomendamos que coloque las copias de seguridad del registro en un volumen que no sea el de las copias de seguridad de la base de datos.

    Nota:

    Para poder crear la primera copia de seguridad de registros, debe crear una copia de seguridad completa.

  • La copia de seguridad de solo copia es una copia de seguridad completa o de registros especial independiente de la secuencia normal de las copias de seguridad convencionales. Para crear una copia de seguridad de solo copia, especifique la opción COPY_ONLY en la instrucción BACKUP. Para obtener más información, vea Copias de seguridad de solo copia.

Truncamiento del registro de transacciones

Para evitar llenar el registro de transacciones de una base de datos, las copias de seguridad rutinarias son esenciales. Normalmente, el truncamiento se produce automáticamente bajo el modelo de recuperación simple cuando se realiza una copia de seguridad de la base de datos y bajo el modelo de recuperación completa cuando se realiza una copia de seguridad del registro de transacciones. Sin embargo, en ocasiones se puede retrasar el proceso de truncamiento. Para obtener información sobre los factores que pueden retrasar el truncamiento del registro, vea Registro de transacciones.

Nota:

Las opciones BACKUP LOG WITH NO_LOG y WITH TRUNCATE_ONLY se han descontinuado. Si usa el modelo de recuperación completa o el optimizado para cargas masivas de registros y debe quitar la cadena de copia de seguridad de registros de una base de datos, cambie al modelo de recuperación simple. Para obtener más información, vea Ver o cambiar el modelo de recuperación de una base de datos.

Dar formato a los medios de copia de seguridad

Con una instrucción BACKUP se dan formato a los medios de copia de seguridad si y solo si se cumple alguna de las siguientes condiciones:

  • Se especifica la opción FORMAT.
  • El medio está vacío.
  • En la operación se está escribiendo una cinta de continuación.

Trabajar con dispositivos de copia de seguridad y conjuntos de medios

Dispositivos de copia de seguridad en un conjunto de medios seccionado (conjunto seccionado)

Un conjunto seccionado es un conjunto de archivos de disco en el que los datos se dividen en bloques y se distribuyen en un orden fijo. El número de dispositivos de copia de seguridad usados en un conjunto de franjas debe ser siempre el mismo (a menos que el medio se reinicialice con FORMAT).

En el siguiente ejemplo se escribe una copia de seguridad de la base de datos AdventureWorks2022 en un nuevo conjunto de medios distribuido que utiliza tres archivos de disco.

BACKUP DATABASE AdventureWorks2022
TO DISK = 'X:\SQLServerBackups\AdventureWorks1.bak',
DISK = 'Y:\SQLServerBackups\AdventureWorks2.bak',
DISK = 'Z:\SQLServerBackups\AdventureWorks3.bak'
WITH FORMAT,
  MEDIANAME = 'AdventureWorksStripedSet0',
  MEDIADESCRIPTION = 'Striped media set for AdventureWorks2022 database';
GO

Después de definir un dispositivo de copia de seguridad como parte de un conjunto de franjas, no se puede utilizar para realizar copias de seguridad en un único dispositivo a menos que se especifique FORMAT. De forma similar, un dispositivo de copia de seguridad que contenga copias de seguridad sin franjas no se puede utilizar en un conjunto de franjas a menos que se especifique FORMAT. Para dividir un conjunto de copia de seguridad distribuido, utilice FORMAT.

Si no se especifica MEDIANAME o MEDIADESCRIPTION al escribir el encabezado de medios, el campo de encabezado de medios que corresponde al elemento en blanco está vacío.

Trabajar con un conjunto de medios reflejado

Normalmente, las copias de seguridad no se reflejan, y las instrucciones BACKUP simplemente incluyen una cláusula TO. No obstante, puede haber hasta cuatro reflejos en total por cada conjunto de medios. En un conjunto de medios reflejado, la operación copia de seguridad escribe en varios grupos de dispositivos de copia de seguridad. Cada grupo de dispositivos de copia de seguridad contiene un único reflejo en el conjunto de medios reflejado. Cada reflejo debe usar la misma cantidad y tipo de dispositivos de copia de seguridad físicos, y todos deben tener las mismas propiedades.

Para hacer una copia de seguridad de un conjunto de medios reflejado, deben estar presentes todos los reflejos. Para realizar una copia de seguridad en un conjunto de medios reflejado, especifique la cláusula TO para indicar el primer reflejo y la cláusula MIRROR TO para cada reflejo adicional.

En el caso de un conjunto de medios reflejado, cada cláusula MIRROR TO debe incluir el mismo número y tipo de dispositivos que la cláusula TO. En el siguiente ejemplo se escribe en un conjunto de medios reflejado que contiene dos reflejos y usa tres dispositivos por reflejo:

BACKUP DATABASE AdventureWorks2022
TO DISK = 'X:\SQLServerBackups\AdventureWorks1a.bak',
  DISK = 'Y:\SQLServerBackups\AdventureWorks2a.bak',
  DISK = 'Z:\SQLServerBackups\AdventureWorks3a.bak'
MIRROR TO DISK='X:\SQLServerBackups\AdventureWorks1b.bak',
  DISK = 'Y:\SQLServerBackups\AdventureWorks2b.bak',
  DISK = 'Z:\SQLServerBackups\AdventureWorks3b.bak';
GO

Importante

Este ejemplo se ha creado de modo que pueda probarlo en su sistema local. En la práctica, realizar una copia de seguridad en varios dispositivos de la misma unidad afectaría el rendimiento y eliminaría la redundancia para la que se diseñaron los conjuntos de medios reflejados.

Familias de medios en conjuntos de medios reflejados

Cada dispositivo de copia de seguridad especificado en la cláusula TO de una instrucción BACKUP corresponde a una familia de medios. Por ejemplo, si la cláusula TO incluye tres dispositivos, BACKUP escribe los datos en tres familias de medios. En un conjunto de medios reflejado, cada reflejo debe contener una copia de cada familia de medios. Esto se debe a que el número de dispositivos debe ser idéntico en cada reflejo.

Si se incluyen varios dispositivos para cada reflejo, el orden determina qué familia de medios se escribe en cada dispositivo. Por ejemplo, en cada lista de dispositivos, el segundo dispositivo corresponde a la segunda familia de medios. En la tabla siguiente se muestra la correspondencia entre los dispositivos y las familias de medios para los dispositivos del ejemplo anterior.

Reflejo Familia de medios 1 Familia de medios 2 Familia de medios 3
0 Z:\AdventureWorks1a.bak Z:\AdventureWorks2a.bak Z:\AdventureWorks3a.bak
1 Z:\AdventureWorks1b.bak Z:\AdventureWorks2b.bak Z:\AdventureWorks3b.bak

Siempre debe realizarse la copia de seguridad de una familia de medios en el mismo dispositivo dentro de un reflejo específico. Por tanto, cada vez que use un conjunto de medios existente, enumere los dispositivos de cada reflejo en el mismo orden que se especificaron al crear el conjunto de medios.

Para obtener más información sobre los conjuntos de medios reflejados, consulte Conjuntos de medios de copia de seguridad reflejados. Para obtener más información sobre los conjuntos de medios y las familias de medios en general, vea Conjuntos de medios, familias de medios y conjuntos de copia de seguridad.

Restaurar copias de seguridad de SQL Server

Para restaurar una base de datos y, opcionalmente, recuperarla para ponerla en línea, o para restaurar un archivo o un grupo de archivos, use la instrucción RESTORE de Transact-SQL o las tareas Restore de SQL Server Management Studio. Para más información, vea Información general sobre restauración y recuperación.

Otras consideraciones sobre las opciones de BACKUP

Interacción de SKIP, NOSKIP, INIT y NOINIT

En esta tabla se describen las interacciones entre las opciones { NOINIT | INIT } y { NOSKIP | SKIP }.

Nota:

Si el medio de cinta está vacío o el archivo de copia de seguridad en disco no existe, todas estas interacciones escriben un encabezado de medios y continúan. Si el medio no está vacío y no contiene ningún encabezado de medios válido, estas operaciones proporcionan un comentario que indica que no se trata de un medio MTF válido y terminan la operación de copia de seguridad.

Opción de omitir NOINIT INIT
NOSKIP Si el volumen contiene un encabezado de medios válido, se comprueba que el nombre del medio coincida con la opción MEDIANAME, si se ha proporcionado. Si coincide, se anexa el conjunto de copia de seguridad y se mantienen todos los conjuntos de copia de seguridad existentes.
Si el volumen no contiene un encabezado de medios válido, se produce un error.
Si el volumen contiene un encabezado de medios válido, se realizan las siguientes comprobaciones:
  • Si se especificó MEDIANAME, se comprueba que el nombre del medio proporcionado coincida con el nombre del encabezado de medios.1
  • Se comprueba que no haya conjuntos de copia de seguridad sin expirar en el medio. Si los hay, se finaliza la copia de seguridad.

Si las comprobaciones son correctas, se sobrescriben los conjuntos de copia de seguridad de los medios y solo se mantiene el encabezado de medios.
Si el volumen no contiene ningún encabezado de medios válido, se genera uno usando las opciones MEDIANAME y MEDIADESCRIPTION especificadas, si se especificó alguna.
SKIP Si el volumen contiene un encabezado de medios válido, se anexa el conjunto de copia de seguridad, conservándose todos los conjuntos de copia de seguridad existentes. Si el volumen contiene un encabezado de medios válido 2, los conjuntos de copia de seguridad de los medios se sobrescriben, conservándose solo el encabezado de medios.
Si el medio está vacío, se genera un encabezado de medios usando las opciones MEDIANAME y MEDIADESCRIPTION, si se especificó alguna.

1 El usuario debe pertenecer a los roles fijos de servidor o de base de datos apropiados para realizar una operación de copia de seguridad.

2 La validez incluye el número de versión de MTF y otra información acerca del encabezado. Si la versión especificada no se admite o se trata de un valor no esperado, se produce un error.

Compatibilidad

Precaución

Las copias de seguridad que se crean en una versión más reciente de SQL Server no se pueden restaurar en versiones anteriores de SQL Server.

BACKUP admite la RESTART opción de proporcionar compatibilidad con versiones anteriores de SQL Server. Pero RESTART no tiene ningún efecto.

Comentarios

Se pueden anexar copias de seguridad de la base de datos o de registros a cualquier dispositivo de disco o cinta, lo que permite mantener la base de datos y sus registros de transacciones en la misma ubicación física.

La instrucción BACKUP no se permite en una transacción explícita o implícita.

No se puede realizar una copia de seguridad de una base de datos en los siguientes estados:

  • Restoring
  • Standby
  • Solo lectura

Se pueden realizar operaciones de copia de seguridad entre plataformas, incluso entre diferentes tipos de procesador, siempre que el sistema operativo admita la intercalación de la base de datos.

Desde SQL Server 2016 (13.x), el valor MAXTRANSFERSIZEmayor que 65536 (64 KB) habilita un algoritmo de compresión optimizada para bases de datos con cifrado de datos transparente (TDE) que, en primer lugar, descifra una página, la comprime y, luego, la vuelve a cifrar. Si MAXTRANSFERSIZE no se especifica o si se usa MAXTRANSFERSIZE = 65536 (64 KB), la compresión de copia de seguridad en bases de datos con cifrado TDE comprime directamente las páginas cifradas, con lo cual existe la posibilidad de no lograr una buena razón de compresión. Para más información, vea Backup Compression for TDE-enabled Databases (Compresión de copia de seguridad en bases de datos con TDE habilitado).

Desde SQL Server 2019 (15.x) CU5, ya no es necesario establecer MAXTRANSFERSIZE para habilitar este algoritmo de compresión optimizada con TDE. Si se especifica el comando de copia de seguridad WITH COMPRESSION o la configuración de servidor predeterminada de compresión de copia de seguridad se establece en 1, MAXTRANSFERSIZE aumentará automáticamente a 128 KB para habilitar el algoritmo optimizado. Si MAXTRANSFERSIZE se especifica en el comando de copia de seguridad con un valor > 64 K, se respeta el valor proporcionado. En otras palabras, SQL Server nunca disminuye automáticamente el valor, solo lo aumenta. Si necesita hacer una copia de seguridad de una base de datos con cifrado TDE con MAXTRANSFERSIZE = 65536, debe especificar WITH NO_COMPRESSION o asegurarse de que la configuración de servidor predeterminada de compresión de copia de seguridad esté establecida en 0.

Nota:

Hay algunos casos en los que el MAXTRANSFERSIZE predeterminado es mayor que 64 KB:

  • Cuando la base de datos tiene varios archivos de datos creados, usa MAXTRANSFERSIZE> 64 KB.
  • Al realizar la copia de seguridad en la dirección URL en Azure Blob Storage, el valor predeterminado MAXTRANSFERSIZE = 1048576 (1 MB).
  • Cuando se realiza la copia de seguridad en la dirección URL en el almacenamiento de objetos compatible con S3, el valor predeterminado MAXTRANSFERSIZE = 10485760 (10 MB).

Incluso si se aplica alguna de estas condiciones, debe establecer explícitamente MAXTRANSFERSIZE mayor que 64 KB en el comando de copia de seguridad para poder obtener el algoritmo de compresión de copia de seguridad optimizado, a menos que esté utilizando SQL Server 2019 (15.x) CU5 o una versión posterior.

De forma predeterminada, cada operación de copia de seguridad correcta agrega una entrada en el registro de errores de SQL Server y en el registro de eventos del sistema. Si se hace una copia de seguridad del registro de transacciones con frecuencia, estos mensajes que indican la corrección de la operación pueden acumularse rápidamente, con lo que se crean registros de errores grandes que pueden dificultar la búsqueda de otros mensajes. En esos casos, puede suprimir estas entradas de registro usando la marca de seguimiento 3226 si ninguna automatización o supervisión depende de esas entradas. Para obtener más información, vea Marcas de seguimiento.

Interoperabilidad

SQL Server utiliza un proceso de copia de seguridad en línea para permitir que se realice la copia de seguridad de una base de datos mientras se está utilizando. Durante la copia de seguridad, se pueden realizar la mayoría de las operaciones (por ejemplo, las instrucciones INSERT, UPDATE o DELETE están permitidas durante la operación de copia de seguridad).

Las operaciones que no se pueden ejecutar durante la copia de seguridad de la base de datos o los registros de transacciones son:

  • Operaciones de administración de archivos, como la instrucción ALTER DATABASE con las opciones ADD FILE o REMOVE FILE.

  • Operaciones de reducción de la base de datos o de reducción de un archivo. Esto incluye las operaciones de reducción automática.

Si una operación de copia de seguridad se superpone con una operación o DBCC SHRINK administración de archivos, surge un conflicto. Con independencia de la operación en conflicto que empieza en primer lugar, la segunda operación espera a que se agote el tiempo de espera del bloqueo establecido por la primera operación (el tiempo de espera se controla mediante un valor de tiempo de espera de sesión). Si el bloqueo se libera durante el tiempo de espera, la segunda operación continúa. Si se agota el tiempo de espera del bloqueo, la segunda operación no se realiza correctamente.

Metadatos

SQL Server incluye las siguientes tablas del historial de copias de seguridad que realizan un seguimiento de la actividad de copia de seguridad:

Al realizar una restauración, si el conjunto de copia de seguridad aún no se ha registrado en la base de datos msdb, las tablas del historial de copias de seguridad se podrían modificar.

Seguridad

A partir de SQL Server 2012 (11.x), las opciones PASSWORD y MEDIAPASSWORD se suspenden para crear copias de seguridad. Todavía es posible restaurar copias de seguridad creadas con contraseñas.

Permisos

De forma predeterminada, los permisos BACKUP DATABASE y BACKUP LOG se corresponden a los miembros del rol fijo de servidor sysadmin y de los roles fijos de base de datos db_owner y db_backupoperator.

Los problemas de propiedad y permisos del archivo físico del dispositivo de copia de seguridad pueden interferir con una operación de copia de seguridad. Asegúrese de que la cuenta de inicio de SQL Server debe tener permisos de lectura y escritura en el dispositivo de copia de seguridad y en la carpeta en la que se escriben los archivos de copia de seguridad. En cambio, sp_addumpdevice, que agrega una entrada para un dispositivo de copia de seguridad en las tablas del sistema, no comprueba los permisos de acceso a los archivos. Estos problemas en el archivo físico del dispositivo de copia de seguridad podrían no aparecer hasta que se accede al recurso físico cuando se intenta realizar la copia de seguridad o restauración.

Ejemplos

En esta sección se incluyen los ejemplos siguientes:

Nota:

Los temas de procedimientos de copia de seguridad contienen más ejemplos. Para obtener más información, vea Información general de copia de seguridad.

A Copia de seguridad de una base de datos completa

En el siguiente ejemplo se hace una copia de seguridad de la base de datos AdventureWorks2022 en un archivo de disco.

BACKUP DATABASE AdventureWorks2022
 TO DISK = 'Z:\SQLServerBackups\AdvWorksData.bak'
    WITH FORMAT;
GO

B. Copia de seguridad de la base de datos y el registro

En el ejemplo siguiente se realiza la copia de seguridad de la base de datos de ejemplo AdventureWorks2022, que usa de forma predeterminada un modelo de recuperación simple. Para admitir las copias de seguridad del registro, la base de datos AdventureWorks2022 se ha modificado para usar el modelo de recuperación completa.

Después, en el ejemplo se usa sp_addumpdevice para crear un dispositivo de copia de seguridad lógico para realizar la copia de seguridad de datos, AdvWorksData, y se crea un dispositivo de copia de seguridad lógico para copiar el registro, AdvWorksLog.

A continuación, en el ejemplo se crea una copia de seguridad de base de datos completa en AdvWorksData y, tras un periodo de actividad de actualización, se copia el registro en AdvWorksLog.

-- To permit log backups, before the full database backup, modify the database
-- to use the full recovery model.
USE master;
GO
ALTER DATABASE AdventureWorks2022
    SET RECOVERY FULL;
GO
-- Create AdvWorksData and AdvWorksLog logical backup devices.
USE master
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksData',
'Z:\SQLServerBackups\AdvWorksData.bak';
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksLog',
'X:\SQLServerBackups\AdvWorksLog.bak';
GO

-- Back up the full AdventureWorks2022 database.
BACKUP DATABASE AdventureWorks2022 TO AdvWorksData;
GO
-- Back up the AdventureWorks2022 log.
BACKUP LOG AdventureWorks2022
    TO AdvWorksLog;
GO

Nota:

En el caso de una base de datos de producción, haga una copia de seguridad del registro periódicamente. Las copias de seguridad del registro se deben realizar con una frecuencia suficiente para ofrecer la protección necesaria frente a la pérdida de datos.

C. Crear una copia de seguridad de archivos completa de los grupos de archivos secundarios

En el ejemplo siguiente se crea una copia de seguridad de archivos completa de cada archivo en los dos grupos de archivos secundarios.

--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
    FILEGROUP = 'SalesGroup1',
    FILEGROUP = 'SalesGroup2'
    TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck';
GO

D. Crear una copia de seguridad de archivos diferencial de los grupos de archivos secundarios

En el ejemplo siguiente se crea una copia de seguridad de archivos diferencial de cada archivo en los dos grupos de archivos secundarios.

--Back up the files in SalesGroup1:
BACKUP DATABASE Sales
    FILEGROUP = 'SalesGroup1',
    FILEGROUP = 'SalesGroup2'
    TO DISK = 'Z:\SQLServerBackups\SalesFiles.bck'
    WITH
      DIFFERENTIAL;
GO

E. Creación y copia de seguridad en un conjunto de medios reflejados de una sola familia

En el siguiente ejemplo se crea un conjunto de medios reflejado que contiene una sola familia de medios y cuatro reflejos, y se realiza una copia de seguridad de la base de datos AdventureWorks2022 en ellos.

BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0'
MIRROR TO TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2'
MIRROR TO TAPE = '\\.\tape3'
WITH
    FORMAT,
    MEDIANAME = 'AdventureWorksSet0';

F. Creación y copia de seguridad en un conjunto de medios reflejados multifamily

En el siguiente ejemplo se crea un conjunto de medios reflejado en el que cada reflejo consta de dos familias de medios. A continuación, se realiza una copia de seguridad de la base de datos AdventureWorks2022 en ambos reflejos.

BACKUP DATABASE AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH
    FORMAT,
    MEDIANAME = 'AdventureWorksSet1';

G. Copia de seguridad en un conjunto de medios reflejado existente

En el siguiente ejemplo se anexa un conjunto de copia de seguridad al conjunto de medios creado en el ejemplo anterior.

BACKUP LOG AdventureWorks2022
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1'
MIRROR TO TAPE = '\\.\tape2', TAPE = '\\.\tape3'
WITH
    NOINIT,
    MEDIANAME = 'AdventureWorksSet1';

Nota:

NOINIT, que es el valor predeterminado, se muestra aquí para mayor claridad.

H. Crear una copia de seguridad comprimida en un nuevo conjunto de medios

En el ejemplo siguiente se da formato a los medios, creando un nuevo conjunto de medios, y se realiza una copia de seguridad completa comprimida de la base de datos AdventureWorks2022.

BACKUP DATABASE AdventureWorks2022 TO DISK='Z:\SQLServerBackups\AdvWorksData.bak'
WITH
    FORMAT,
    COMPRESSION;

I. Copia de seguridad en Microsoft Azure Blob Storage

En este ejemplo se realiza una copia de seguridad completa de la base de datos de Sales en Azure Blob Storage. El nombre de la cuenta de almacenamiento es mystorageaccount. El contenedor se denomina myfirstcontainer. Ya se ha creado una directiva de acceso almacenada con derechos de lectura, escritura, eliminación y lista. La credencial de SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, se creó con una Firma de acceso compartido asociada a la directiva de acceso almacenada. Para obtener información sobre la copia de seguridad de SQL Server en Azure Blob Storage, consulte Copia de seguridad y restauración de SQL Server con Azure Blob Storage y Copia de seguridad en URL de SQL Server.

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales.bak'
WITH STATS = 5;

También puede realizar una copia de seguridad de la base de datos en varias franjas y tendría el siguiente aspecto:

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-04.bak'
WITH COPY_ONLY;

J. Copia de seguridad en el almacenamiento de objetos compatible con S3

Se aplica a: SQL Server 2022 (16.x)

En este ejemplo se realiza una copia de seguridad completa de la base de datos Sales en una plataforma de almacenamiento de objetos compatible con S3. El nombre de la credencial no es necesario en la instrucción o para que coincida con la ruta de acceso de dirección URL exacta, pero realizará una búsqueda de la credencial adecuada en la dirección URL proporcionada. Para más información, consulte Copia de seguridad y restauración de SQL Server con el almacenamiento de objetos compatible con S3.

BACKUP DATABASE Sales
TO      URL = 's3://10.10.10.10:8787/sqls3backups/sales_01.bak'
,       URL = 's3://10.10.10.10:8787/sqls3backups/sales_02.bak'
,       URL = 's3://10.10.10.10:8787/sqls3backups/sales_03.bak'
WITH    FORMAT
,       STATS               = 10
,       COMPRESSION;

K. Hacer un seguimiento del progreso de la instrucción de copia de seguridad

La consulta siguiente devuelve información sobre las instrucciones de copia de seguridad actualmente en ejecución:

SELECT query = a.text, start_time, percent_complete,
    eta = dateadd(second,estimated_completion_time/1000, getdate())
FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
WHERE r.command LIKE 'BACKUP%';

* SQL Managed Instance *  

 

Azure SQL Managed Instance

Realiza una copia de seguridad de una base de datos SQL en Azure SQL Managed Instance. Azure SQL Managed Instance tiene copias de seguridad automáticas. Puede crear copias de seguridad COPY_ONLY de bases de datos completas. No se admiten las copias de seguridad de instantáneas de archivos, de registros ni diferenciales.

También se aplica a SQL Instancia administrada habilitado por Azure Arc.

Sintaxis

BACKUP DATABASE { database_name | @database_name_var }
  TO URL = { 'physical_device_name' | @physical_device_name_var }[ ,...n ]
  WITH COPY_ONLY [, { <general_WITH_options> } ]
[;]

<general_WITH_options> [ ,...n ]::=

--Media Set Options
   MEDIADESCRIPTION = { 'text' | @text_variable }
 | MEDIANAME = { media_name | @media_name_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 ]

--Encryption Options
 ENCRYPTION (ALGORITHM = { AES_128 | AES_192 | AES_256 | TRIPLE_DES_3KEY } , encryptor_options ) <encryptor_options> ::=
   SERVER CERTIFICATE = Encryptor_Name | SERVER ASYMMETRIC KEY = Encryptor_Name

Argumentos

DATABASE

Especifica una copia de seguridad completa de la base de datos. Durante una copia de seguridad de una base de datos, Azure SQL Managed Instance realiza la copia de seguridad de una parte suficiente del registro de transacciones para producir una base de datos coherente cuando se restaure la base de datos.

Importante

Una copia de seguridad de base de datos creada en una instancia administrada solo se puede restaurar en otra instancia de Azure SQL Managed Instance o en una instancia de SQL Server 2022. Esto se debe a que SQL Managed Instance tiene una versión de base de datos interna superior en comparación con otras versiones de SQL Server. Para obtener más información, consulte Restauración de una copia de seguridad de base de datos de SQL Managed Instance en SQL Server 2022.

Al restaurar una copia de seguridad creada por BACKUP DATABASE (una copia de seguridad de datos), se restaura la copia de seguridad completa. Para restaurar a partir de copias de seguridad automáticas de SQL Managed Instance, vea Restauración de una base de datos en una instancia de Azure SQL Managed Instance.

{ database_name | @database_name_var }

Es la base de datos desde la que se realiza la copia de seguridad de la base de datos completa. Si se proporciona como una variable (@database_name_var), este nombre se puede especificar como una constante de cadena (@database_name_var=database name) o como una variable de un tipo de datos de cadena de caracteres, excepto los tipos de datos ntext o text.

Para más información, vea Copias de seguridad de archivos completas y Realizar copias de seguridad de archivos y grupos de archivos.

TO URL

Especifica la dirección URL que se usará para la operación de copia de seguridad. El formato de las direcciones URL solo se usa para crear copias de seguridad en el servicio de almacenamiento Microsoft Azure.

Importante

Para hacer una copia de seguridad en varios dispositivos cuando se hagan copias de seguridad en URL, debe usar tokens de firma de acceso compartido (SAS). Para ver ejemplos sobre cómo crear una Firma de acceso compartido, vea Copia de seguridad en URL de SQL Server y Simplifying creation of SQL Credentials with Shared Access Signature (SAS) tokens on Azure Storage with Powershell (Simplificación de la creación de credenciales de SQL con tokens de firmas de acceso compartido [SAS] en Almacenamiento de Azure con PowerShell).

n
Es un marcador de posición que indica que se pueden especificar hasta 64 dispositivos de copia de seguridad en una lista separada por comas.

Opciones de WITH

Especifica las opciones que se van a utilizar con una operación de copia de seguridad.

ENCRYPTION

Se utiliza para especificar el cifrado para una copia de seguridad. Puede especificar un algoritmo de cifrado para cifrar la copia de seguridad o especificar NO_ENCRYPTION para no hacer que la copia de seguridad se cifre. El cifrado es una práctica recomendada para ayudar a proteger los archivos de copia de seguridad. La lista de algoritmos que puede especificar son:

  • AES_128
  • AES_192
  • AES_256
  • TRIPLE_DES_3KEY
  • NO_ENCRYPTION

Si elige cifrar, tendrá que especificar el sistema cifrado mediante las opciones de cifrado:

  • SERVER CERTIFICATE = <Encryptor_Name>
  • SERVER ASYMMETRIC KEY = <Encryptor_Name>

Opciones de conjunto de copia de seguridad

COPY_ONLY

Especifica que la copia de seguridad es una copia de seguridad de solo copia, lo que no afecta a la secuencia normal de copias de seguridad. Se crea una copia de seguridad de solo copia independientemente de las copias de seguridad automáticas de Azure SQL Database. Para obtener más información, vea Copias de seguridad de solo copia.

{ COMPRESSION | NO_COMPRESSION }

Especifica si la compresión de copia de seguridad se realiza en esta copia de seguridad, lo que invalida la configuración predeterminada del servidor.

El comportamiento predeterminado es que no se realice la compresión de copia de seguridad. Este valor predeterminado se puede cambiar estableciendo la opción valor predeterminado de compresión de copia de seguridad de la configuración del servidor. Para más información sobre cómo ver el valor actual de esta opción, vea Ver o cambiar las propiedades del servidor.

COMPRESSION
Habilita de forma explícita la compresión de copia de seguridad.

NO_COMPRESSION
Deshabilita de forma explícita la compresión de copia de seguridad.

DESCRIPTION = { 'text' | @text_variable }

Especifica el texto de forma libre que describe el conjunto de copia de seguridad. La cadena puede tener un máximo de 255 caracteres.

NAME = { backup_set_name | @_backup| set_var }

Especifica el nombre del conjunto de copia de seguridad. Los nombres pueden tener un máximo de 128 caracteres. Si no se especifica NAME, está en blanco.

MEDIADESCRIPTION = { text | @text_variable }

Especifica la descripción de texto de forma libre, con un máximo de 255 caracteres, del conjunto de medios.

MEDIANAME = { media_name | @media_name_variable }

Especifica el nombre del medio para el conjunto completo de medios de copia de seguridad. El nombre del medio no puede tener más de 128 caracteres y, si se especifica MEDIANAME, debe coincidir con el nombre de medio especificado que ya existe en los volúmenes de copia de seguridad. Si no se especifica o se especifica la opción SKIP, no se realiza la comprobación del nombre del medio.

BLOCKSIZE = { blocksize | @blocksize_variable }

Especifica el tamaño de bloque físico, en bytes. Los tamaños admitidos son 512, 1024, 2048, 4096, 8192, 16384, 32768 y 65536 (64 KB) bytes. El valor predeterminado es 65536 para dispositivos de cinta y 512 para otros dispositivos. Normalmente, esta opción no es necesaria, ya que BACKUP selecciona automáticamente un tamaño de bloque apropiado para el dispositivo. La especificación explícita de un tamaño de bloque invalida la selección automática del tamaño de bloque.

Opciones de transferencia de datos

BUFFERCOUNT = { buffercount | @buffercount_variable }

Especifica el número total de búferes de E/S que se van a utilizar para la operación de copia de seguridad. Puede especificar cualquier entero positivo; no obstante, un número de búferes demasiado grande podría provocar errores de "memoria insuficiente" a causa de un espacio de direcciones virtuales inadecuado en el proceso Sqlservr.exe.

El espacio total usado por los búferes está determinado por: BUFFERCOUNT * MAXTRANSFERSIZE.

Nota:

Para obtener información importante sobre el uso de la opción , consulte la BUFFERCOUNT entrada de blog La opción De transferencia de datos BufferCount incorrecta puede dar lugar a una condición de OOM.

MAXTRANSFERSIZE = { maxtransfersize | @ maxtransfersize_variable }

Especifica la unidad de transferencia mayor (en bytes) que se debe usar entre SQL Server y el medio de copia de seguridad. Los valores posibles son múltiplos de 65536 bytes (64 KB), hasta un máximo de 4194304 bytes (4 MB).

En el caso de las bases de datos con Cifrado de datos transparente (TDE) habilitado que tienen un único archivo de datos, el valor predeterminado de MAXTRANSFERSIZE es 65536 (64 KB). En las bases de datos que no tienen cifrado TDE, el valor predeterminado de MAXTRANSFERSIZE es 1048576 (1 MB) cuando se usa la copia de seguridad en DISK y 65536 (64 KB) al usar VDI o TAPE.

Nota

MAXTRANSFERSIZE especifica la unidad de transferencia más grande y no garantiza que cada operación de escritura transfiera el tamaño más grande especificado. MAXTRANSFERSIZE para operaciones de escritura de copias de seguridad de registros de transacciones seccionadas se establece en 64 KB.

Opciones de administración de errores

Estas opciones permiten determinar si se habilitarán las sumas de comprobación de copia de seguridad para la operación de copia de seguridad y si ésta se detiene al encontrar un error.

{ NO_CHECKSUM | CHECKSUM }

Controla si las sumas de comprobación de copia de seguridad están habilitadas.

NO_CHECKSUM
Deshabilita de forma explícita la generación de sumas de comprobación de copia de seguridad (y la validación de sumas de comprobación de página). Este es el comportamiento predeterminado.

CHECKSUM
Especifica que la operación de copia de seguridad comprueba en cada página si hay suma de comprobación y página rasgada (si está habilitada y disponible) y generará una suma de comprobación para toda la copia de seguridad.

El uso de sumas de comprobación de copia de seguridad puede afectar al rendimiento de la carga de trabajo y de copia de seguridad.

Para más información, vea Errores posibles de medios durante copia de seguridad y restauración.

{ STOP_ON_ERROR | CONTINUE_AFTER_ERROR }

Controla si una operación de copia de seguridad se detiene o continúa después de encontrar un error en la suma de comprobación de página.

STOP_ON_ERROR
Indica a BACKUP que dé error si no se comprueba una suma de comprobación de página. Este es el comportamiento predeterminado.

CONTINUE_AFTER_ERROR
Indica a BACKUP que continúe a pesar de la detección de errores como sumas de comprobación no válidas o páginas rasgadas.

Si no puede hacer la copia de seguridad del final del registro con la opción NO_TRUNCATE cuando la base de datos está dañada, puede intentar realizar una copia de seguridad de registros después del registro especificando CONTINUE_AFTER_ERROR en vez de NO_TRUNCATE.

Para más información, vea Errores posibles de medios durante copia de seguridad y restauración.

Opciones de compatibilidad

RESTART

No surte ningún efecto. La versión acepta esta opción por compatibilidad con versiones anteriores de SQL Server.

Opciones de supervisión

ESTADÍSTICAS [ = porcentaje ]

Muestra un mensaje cada vez que se completa otro percentage; se usa para indicar el progreso. Si percentage se omite, SQL Server muestra un mensaje después de completar cada 10 por ciento.

La opción STATS informa del porcentaje completado desde el umbral para informar del próximo intervalo. Éste es aproximadamente el porcentaje especificado; por ejemplo, con STATS=10, si la cantidad completada equivale al 40 por ciento, la opción puede mostrar el 43 por ciento. En el caso de los conjuntos de copia de seguridad de gran tamaño, esto no representa ningún problema porque el porcentaje completado se mueve muy lentamente entre las llamadas de E/S.

Limitaciones de SQL Managed Instance

El tamaño máximo de la franja de copia de seguridad es de 195 GB (tamaño máximo de blob). Aumente el número de franjas en el comando de copia de seguridad para reducir el tamaño de las franjas y permanecer dentro de este límite.

Seguridad

Permisos

De forma predeterminada, los permisos BACKUP DATABASE se corresponden a los miembros del rol fijo de servidor sysadmin y de los roles fijos de base de datos db_owner y db_backupoperator.

Los problemas de propiedad y permisos de la dirección URL pueden interferir con una operación de copia de seguridad. SQL Server debe poder leer y escribir en el dispositivo y la cuenta en la que se ejecuta el servicio SQL Server debe tener permisos de escritura.

Ejemplos

En el ejemplo se realiza una copia de seguridad de COPY_ONLY en Sales Microsoft Azure Blob Storage. El nombre de la cuenta de almacenamiento es mystorageaccount. El contenedor se denomina myfirstcontainer. Se ha creado una directiva de acceso almacenada con derechos de lectura, escritura, eliminación y lista. La credencial de SQL Server, https://mystorageaccount.blob.core.windows.net/myfirstcontainer, se creó con una Firma de acceso compartido asociada a la directiva de acceso almacenada. Para obtener información sobre la copia de seguridad de SQL Server en Azure Blob Storage, consulte Copia de seguridad y restauración de SQL Server con Microsoft Azure Blob Storage y Copia de seguridad en URL de SQL Server.

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales_20160726.bak'
WITH STATS = 5, COPY_ONLY;

También puede realizar una copia de seguridad de la base de datos en varias franjas y tendría el siguiente aspecto:

BACKUP DATABASE Sales
TO URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-01.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-02.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-03.bak',
URL = 'https://mystorageaccount.blob.core.windows.net/myfirstcontainer/Sales-04.bak'
WITH COPY_ONLY;

* Analytics
Platform System (PDW) *
 

 

Sistema de la plataforma de análisis

Crea una copia de seguridad de una base de datos de Sistema de la plataforma de análisis (PDW) y la almacena fuera del dispositivo en una ubicación de red especificada por el usuario. Use esta instrucción con RESTORE DATABASE - Analytics Platform System para la recuperación ante desastres, o bien para copiar una base de datos de un dispositivo a otro.

Antes de comenzar, vea "Adquirir y configurar un servidor de copia de seguridad" en la documentación del producto de Analytics Platform System (PDW).

En Sistema de la plataforma de análisis (PDW) hay dos tipos de copias de seguridad. Una copia de seguridad completa de base de datos es una copia de seguridad de una base de datos de Sistema de la plataforma de análisis (PDW) completa. Una copia de seguridad diferencial solo incluye los cambios realizados desde la última copia de seguridad completa de base de datos. Una copia de seguridad de una base de datos de usuario incluye usuarios de base de datos y roles de base de datos. Una copia de seguridad de la master base de datos incluye los inicios de sesión.

Para más información sobre las copias de seguridad de bases de datos de Analytics Platform System (PDW), vea "Copia de seguridad y restauración" en la documentación del producto de Analytics Platform System (PDW).

Sintaxis

--Create a full backup of a user database or the master database.
BACKUP DATABASE database_name
    TO DISK = '\\UNC_path\backup_directory'
    [ WITH [ ( ]<with_options> [ ,...n ][ ) ] ]
[;]

--Create a differential backup of a user database.
BACKUP DATABASE database_name
    TO DISK = '\\UNC_path\backup_directory'
    WITH [ ( ] DIFFERENTIAL
    [ , <with_options> [ ,...n ] [ ) ]
[;]

<with_options> ::=
    DESCRIPTION = 'text'
    | NAME = 'backup_name'

Argumentos

database_name

Nombre de la base de datos en la que se va a crear una copia de seguridad. La base de datos puede ser la base de datos mastero una base de datos de usuario.

TO DISK = '\\UNC_path\backup_directory'

La ruta de acceso de red y el directorio en el que Sistema de la plataforma de análisis (PDW) escribirá los archivos de copia de seguridad. Por ejemplo, \\\xxx.xxx.xxx.xxx\backups\2012\Monthly\08.2012.Mybackup.

  • La ruta de acceso al nombre del directorio de copia de seguridad ya debe existir y se debe especificar como una ruta de acceso de convención de nomenclatura universal (UNC) completa.
  • El directorio de copia de seguridad, directorio_de_copia_de_seguridad, no debe existir antes de ejecutar el comando de copia de seguridad. Sistema de la plataforma de análisis (PDW) creará el directorio de copia de seguridad.
  • La ruta de acceso al directorio de copia de seguridad no puede ser una ruta de acceso local y no puede ser una ubicación en ninguno de los nodos del dispositivo de Sistema de la plataforma de análisis (PDW).
  • La longitud máxima de la ruta de acceso UNC y el nombre del directorio de copia de seguridad es de 200 caracteres.
  • El servidor o host se debe especificar como una dirección IP. No se puede especificar como el nombre de host o servidor.

DESCRIPTION = 'text'

Especifica una descripción textual de la copia de seguridad. La longitud máxima del texto es 255 caracteres.

La descripción se almacena en los metadatos y se mostrará cuando se restaure el encabezado de copia de seguridad con RESTORE HEADERONLY.

NAME = "backup _name"

Especifica el nombre de la copia de seguridad. El nombre de la copia de seguridad puede ser distinto del nombre de la base de datos.

  • Los nombres pueden tener un máximo de 128 caracteres.
  • No puede incluir una ruta de acceso.
  • Debe comenzar con una letra o un carácter numérico, o bien un carácter de subrayado (_). Los caracteres especiales permitidos son el carácter de subrayado (_), guión (-) o espacio ( ). Los nombres de copia de seguridad no pueden terminar con un carácter de espacio.
  • Se producirá un error en la instrucción si backup_name ya existe en la ubicación especificada.

Este nombre se almacena en los metadatos y se mostrará cuando se restaure el encabezado de copia de seguridad con RESTORE HEADERONLY.

DIFFERENTIAL

Especifica que se realice una copia de seguridad diferencial de una base de datos de usuario. Si se omite, el valor predeterminado es una copia de seguridad completa de base de datos. No es necesario que el nombre de la copia de seguridad diferencial coincida con el nombre de la copia de seguridad completa. Para realizar el seguimiento de la copia diferencial y su copia de seguridad completa correspondiente, considere la posibilidad de usar el mismo nombre con "completa" o "diferencial" anexado.

Por ejemplo:

BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerFull';

BACKUP DATABASE Customer TO DISK = '\\xxx.xxx.xxx.xxx\backups\CustomerDiff' WITH DIFFERENTIAL;

Permisos

Requiere el permiso BACKUP DATABASE o la pertenencia al rol fijo de base de datos db_backupoperator. Un usuario normal que se haya agregado al rol fijo de base de datos db_backupoperator no puede hacer una copia de seguridad de la base de datos master. Solo sa, el administrador del tejido o los miembros del rol fijo de servidor sysadmin pueden hacer una copia de seguridad de la base de datos master.

Requiere una cuenta de Windows que tenga permiso para obtener acceso, crear y escribir en el directorio de copia de seguridad. También se debe almacenar el nombre de la cuenta de Windows y la contraseña en Sistema de la plataforma de análisis (PDW). Para agregar estas credenciales de red a Sistema de la plataforma de análisis (PDW), use el procedimiento almacenado sp_pdw_add_network_credentials - Azure Synapse Analytics.

Para obtener más información sobre cómo administrar las credenciales en Sistema de la plataforma de análisis (PDW), vea la sección Seguridad.

Tratamiento de errores

Errores de BACKUP DATABASE en las siguientes circunstancias:

  • Los permisos de usuario no son suficientes para realizar una copia de seguridad.
  • Sistema de la plataforma de análisis (PDW) no tiene los permisos correctos a la ubicación de red donde se almacenará la copia de seguridad.
  • La base de datos no existe.
  • El directorio de destino ya existe en el recurso compartido de red.
  • El recurso compartido de red de destino no está disponible.
  • El recurso compartido de red de destino no tiene suficiente espacio para la copia de seguridad. El comando BACKUP DATABASE no confirma que existe suficiente espacio en disco antes de iniciar la copia de seguridad, lo que permite generar un error de espacio en disco insuficiente mientras se ejecuta BACKUP DATABASE. Cuando se produce el error de espacio en disco insuficiente, Sistema de la plataforma de análisis (PDW) revierte el comando BACKUP DATABASE. Para reducir el tamaño de la base de datos, ejecute DBCC SHRINKLOG (Analytics Platform System (PDW))
  • Se intenta iniciar una copia de seguridad dentro de una transacción.

Comentarios

Antes de realizar una copia de seguridad de la base de datos, use DBCC SHRINKLOG (Analytics Platform System (PDW)) para reducir el tamaño de la base de datos.

Una copia de seguridad de Sistema de la plataforma de análisis (PDW) se almacena como un conjunto de varios archivos en el mismo directorio.

Una copia de seguridad diferencial normalmente tarda menos tiempo que una copia de seguridad completa y se puede realizar con más frecuencia. Cuando varias copias de seguridad diferenciales se basan en la misma copia de seguridad completa, cada copia diferencial incluye todos los cambios de la copia de seguridad diferencial anterior.

Si se cancela un comando BACKUP, Sistema de la plataforma de análisis (PDW) quitará el directorio de destino y todos los archivos creados para la copia de seguridad. Si Sistema de la plataforma de análisis (PDW) pierde conectividad de red para el recurso compartido, la reversión no se puede completar.

Las copias de seguridad completas y diferenciales se almacenan en directorios independientes. No se aplican las convenciones de nomenclatura para especificar que una copia de seguridad completa y una copia de seguridad diferencial forman un conjunto. Puede realizar el seguimiento de esto a través de sus propias convenciones de nomenclatura. Como alternativa, puede controlar esto mediante la opción WITH DESCRIPTION para agregar una descripción y, después, mediante la instrucción RESTORE HEADERONLY para recuperar la descripción.

Limitaciones

No se puede realizar una copia de seguridad diferencial de la base de datos master. Solo se admiten las copias de seguridad completas de la base de datos master.

No se admiten las copias de seguridad del registro de transacciones de la base de datos del sistema master.

Los archivos de copia de seguridad se almacenan en un formato adecuado únicamente para restaurar la copia de seguridad en un dispositivo de Sistema de la plataforma de análisis (PDW) mediante la instrucción RESTORE DATABASE - Analytics Platform System.

No se puede usar la copia de seguridad con la instrucción BACKUP DATABASE para transferir datos o información del usuario a bases de datos de SQL Server de SMP. Para esa funcionalidad, se puede usar la característica de copia de la tabla remota. Para obtener más información, vea "Copia de la tabla remota" en la documentación del producto Analytics Platform System (PDW).

Analytics Platform System (PDW) usa la tecnología de copia de seguridad de SQL Server para realizar copias de seguridad y restaurar bases de datos. Las opciones de copia de seguridad de SQL Server están preconfiguradas para usar la compresión de copia de seguridad. No se pueden establecer opciones de copia de seguridad como la compresión, suma de comprobación, tamaño de bloque y recuento de búferes.

Solo se puede ejecutar una copia de seguridad o restauración de base de datos en el dispositivo en un momento dado. Sistema de la plataforma de análisis (PDW) pondrá en cola los comandos de copia de seguridad o restauración hasta que se haya completado el comando actual de copia de seguridad o restauración.

El dispositivo de destino para restaurar la copia de seguridad debe tener al menos tantos nodos de ejecución como el dispositivo de origen. El destino puede tener más nodos de ejecución que el dispositivo de origen, pero no menos.

Sistema de la plataforma de análisis (PDW) no realiza el seguimiento de la ubicación y los nombres de las copias de seguridad, ya que las copias de seguridad se almacenan fuera del dispositivo.

Sistema de la plataforma de análisis (PDW) realiza el seguimiento del éxito o el fracaso de las copias de seguridad de base de datos.

Solo se permite una copia de seguridad diferencial si la última copia de seguridad completa se realizó correctamente. Por ejemplo, supongamos que el lunes crea una copia de seguridad completa de la Sales base de datos y la copia de seguridad finaliza correctamente. A continuación, el martes se crea una copia de seguridad completa de la Sales base de datos y se produce un error. Después de este error, no puede crear una copia de seguridad diferencial basada en la copia de seguridad completa del lunes. Primero debe crear una copia de seguridad completa correcta antes de crear una copia de seguridad diferencial.

Metadatos

Estas vistas de administración dinámicas contienen información sobre todas operaciones de copia de seguridad, restauración y carga. La información se conserva entre reinicios del sistema.

Rendimiento

Para realizar una copia de seguridad, Sistema de la plataforma de análisis (PDW) primero crea una copia de seguridad de los metadatos y, después, realiza una copia de seguridad paralela de los datos de base de datos almacenados en los nodos de ejecución. Los datos se copian directamente desde cada nodo de ejecución al directorio de copia de seguridad. Para obtener el mejor rendimiento para mover los datos de los nodos de ejecución al directorio de copia de seguridad, Sistema de la plataforma de análisis (PDW) controla el número de nodos de ejecución en los que se copian datos al mismo tiempo.

Bloqueo

Toma un bloqueo ExclusiveUpdate en el objeto de base de datos.

Seguridad

Las copias de seguridad de Sistema de la plataforma de análisis (PDW) no se almacenan en el dispositivo. Por tanto, el equipo de TI es responsable de administrar todos los aspectos de la seguridad de las copias de seguridad. Por ejemplo, esto incluye la administración de la seguridad de los datos de copia de seguridad, la del servidor que se usa para almacenar las copias de seguridad y la de la infraestructura de red que conecta el servidor de copia de seguridad con el dispositivo de Sistema de la plataforma de análisis (PDW).

Administrar las credenciales de red

El acceso de red al directorio de copia de seguridad se basa en la seguridad del uso compartido de archivos del sistema operativo estándar. Antes de realizar una copia de seguridad, debe crear o designar una cuenta de Windows que se usó para la autenticación de Sistema de la plataforma de análisis (PDW) en el directorio de copia de seguridad. Esta cuenta de Windows debe tener permiso para obtener acceso, crear y escribir en el directorio de copia de seguridad.

Importante

Para reducir los riesgos de seguridad con los datos, se recomienda designar una cuenta de Windows exclusivamente para realizar las operaciones de copia de seguridad y restauración. Permita que esta cuenta tenga permisos para la ubicación de la copia de seguridad y ningún otro lugar más.

Debe almacenar el nombre de usuario y la contraseña en Sistema de la plataforma de análisis (PDW) mediante la ejecución del procedimiento almacenado sp_pdw_add_network_credentials - Azure Synapse Analytics. Sistema de la plataforma de análisis (PDW) usa el Administrador de credenciales de Windows para almacenar y cifrar los nombres de usuario y las contraseñas en el nodo de control y los nodos de ejecución. No se realiza una copia de seguridad de las credenciales con el comando BACKUP DATABASE.

Para quitar las credenciales de red de Sistema de la plataforma de análisis (PDW), vea sp_pdw_remove_network_credentials - Azure Synapse Analytics.

Para enumerar todas las credenciales de red almacenadas en Sistema de la plataforma de análisis (PDW), use la vista de administración dinámica sys.dm_pdw_network_credentials.

Ejemplos

A. Agregar credenciales de red para la ubicación de copia de seguridad

Para crear una copia de seguridad, Sistema de la plataforma de análisis (PDW) debe tener permiso de lectura/escritura en el directorio de copia de seguridad. En el ejemplo siguiente se muestra cómo agregar las credenciales de un usuario. Sistema de la plataforma de análisis (PDW) almacenará estas credenciales y las usará para las operaciones de copias de seguridad y restauración.

Importante

Por motivos de seguridad, se recomienda crear una cuenta de dominio exclusivamente para realizar copias de seguridad.

EXEC sp_pdw_add_network_credentials 'xxx.xxx.xxx.xxx', 'domain1\backupuser', '*****';

B. Quitar credenciales de red para la ubicación de copia de seguridad

En el ejemplo siguiente se muestra cómo quitar las credenciales de un usuario de dominio de Sistema de la plataforma de análisis (PDW).

EXEC sp_pdw_remove_network_credentials 'xxx.xxx.xxx.xxx';

C. Creación de una copia de seguridad completa de una base de datos de usuario

En el ejemplo siguiente se crea una copia de seguridad completa de la base de datos de usuario Invoices. Analytics Platform System (PDW) creará el directorio Invoices2013 y guardará los archivos de copia de seguridad en el directorio \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full.

BACKUP DATABASE Invoices TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Full';

D. Crear una copia de seguridad diferencial de una base de datos de usuario

En el ejemplo siguiente se crea una copia de seguridad diferencial, que incluye todos los cambios realizados desde la última copia de seguridad completa de la base de datos Invoices. Analytics Platform System (PDW) creará el \\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff directorio para almacenar los archivos. La descripción "Invoices 2013 differential backup" (Copia de seguridad diferencial de Invoices 2013) se almacenará con la información de encabezado de la copia de seguridad.

La copia de seguridad diferencial solo se ejecutará correctamente si la última copia de seguridad completa de Invoices se completó correctamente.

BACKUP DATABASE Invoices TO DISK = '\\xxx.xxx.xxx.xxx\backups\yearly\Invoices2013Diff'
    WITH DIFFERENTIAL,
    DESCRIPTION = 'Invoices 2013 differential backup';

E. Crear una copia de seguridad completa de la base de datos maestra

En el ejemplo siguiente se crea una copia de seguridad completa de la base de datos master y se almacena en el directorio \\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master, donde IP es una dirección IP de red.

BACKUP DATABASE master TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master';

F. Crear una copia de seguridad de la información de inicio de sesión del dispositivo

En la base de datos master se almacena la información de inicio de sesión del dispositivo. Para realizar una copia de seguridad de la información de inicio de sesión del dispositivo, debe realizar una copia de seguridad de la master base de datos.

En el ejemplo siguiente se crea una copia de seguridad completa de la base de datos master.

BACKUP DATABASE master TO DISK = '\\xxx.xxx.xxx.xxx\backups\2013\daily\20130722\master'
WITH (
    DESCRIPTION = 'Master Backup 20130722',
    NAME = 'login-backup'
)
;