Realizar copias de seguridad de archivos y grupos de archivos

Se aplica a:SQL Server

En este tema se describe cómo realizar una copia de seguridad de archivos y grupos de archivos en SQL Server mediante SQL Server Management Studio, Transact-SQL o PowerShell. Cuando el tamaño y los requisitos de rendimiento de la base de datos hagan que no sea práctico realizar una copia de seguridad completa de la base de datos, puede crear una copia de seguridad de archivo en su lugar. Una copia de seguridad de archivos contiene todos los datos de uno o varios archivos (o grupos de archivos).

Para obtener más información sobre las copias de seguridad de archivos, vea Copias de seguridad de archivos completas (SQL Server) y Copias de seguridad diferenciales (SQL Server).

Antes de empezar

Limitaciones y restricciones

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

  • En el modelo de recuperación simple, se debe hacer una copia de seguridad de todos los archivos de lectura/escritura juntos. Esto ayuda a garantizar que la base de datos se pueda restaurar a un punto temporal coherente. En lugar de especificar de forma individual cada grupo de archivos o cada archivo de lectura/escritura utilice la opción READ_WRITE_FILEGROUPS. Esta opción realiza una copia de seguridad de todos los grupos de archivos de lectura/escritura de la base de datos. Una copia de seguridad que se crea al especificar READ_WRITE_FILEGROUPS se conoce como copia de seguridad parcial; vea Copias de seguridad parciales (SQL Server).

Para obtener más información sobre las limitaciones y restricciones, vea Información general de copia de seguridad (SQL Server).

Recomendaciones

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 muy grandes que pueden dificultar la búsqueda de otros mensajes. En esos casos, puede suprimir estas entradas de registro con la marca de seguimiento 3226 si ninguno de los scripts depende de esas entradas. Vea Marcas de seguimiento (Transact-SQL).

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. 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. 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. Es posible que estos problemas con el archivo físico del dispositivo de copia de seguridad no aparezcan hasta que se tenga acceso al recurso físico, al intentar la copia de seguridad o la restauración.

Uso de SQL Server Management Studio

  1. Después de conectarse a la instancia apropiada del motor de base de datos de SQL Server, en el Explorador de objetos, haga clic en el nombre del servidor para expandir el árbol del servidor.

  2. Expanda Bases de datos y, en función de la base de datos, seleccione la base de datos de un usuario o expanda Bases de datos del sistema y seleccione una base de datos del sistema.

  3. Haga clic con el botón secundario en la base de datos, seleccione Tareasy, a continuación, haga clic en Hacer una copia de seguridad. Aparecerá el cuadro de diálogo Copia de seguridad de base de datos .

  4. En la lista Base de datos , compruebe el nombre de la base de datos. También puede seleccionar otra base de datos en la lista.

  5. En la lista Tipo de copia de seguridad , seleccione Completa o Diferencial.

  6. En la opción Componente de copia de seguridad , haga clic en Archivo y grupos de archivos.

  7. En el cuadro de diálogo Seleccionar archivos y grupos de archivos , seleccione los archivos y los grupos de archivos cuya copia de seguridad desee realizar. Puede seleccionar uno o varios archivos, o bien activar la casilla de un grupo de archivos para seleccionar automáticamente todos los archivos de dicho grupo.

  8. Acepte el nombre del conjunto de copia de seguridad predeterminado sugerido en el cuadro de texto Nombre o especifique otro nombre.

  9. Opcionalmente, en el cuadro de texto Descripción, describa el conjunto de copia de seguridad.

  10. Especifique cuándo expirará el conjunto de copia de seguridad:

    • Para que el conjunto de copia de seguridad expire al cabo de un número de días específico, haga clic en Después de (la opción predeterminada) y escriba el número de días tras la creación del conjunto en que este expirará. Este valor puede estar entre 0 y 99999 días; el valor 0 significa que el conjunto de copia de seguridad no expirará nunca.

      El valor predeterminado se establece en la opción Tiempo predeterminado de retención de medios de copia de seguridad (días) del cuadro de diálogo Propiedades del servidor (páginaConfiguración de base de datos ). Para tener acceso a esta opción, haga clic con el botón derecho en el nombre del servidor en el Explorador de objetos y seleccione Propiedades y, luego, seleccione la página Configuración de base de datos .

    • Para que el conjunto de copia de seguridad expire en una determinada fecha, haga clic en Ely escriba la fecha en la que expirará.

  11. Elija el tipo de destino de la copia de seguridad haciendo clic en Disco o Cinta. Para seleccionar las rutas de hasta 64 unidades de disco o de cinta que contengan un solo conjunto de medios, haga clic en Agregar. Las rutas seleccionadas se muestran en la lista Copia de seguridad en .

    Nota:

    Para eliminar un destino de copia de seguridad, selecciónelo y haga clic en Quitar. Para ver el contenido de un destino de copia de seguridad, selecciónelo y haga clic en Contenido.

  12. Para ver o seleccionar las opciones avanzadas, haga clic en Opciones , en el panel Seleccionar una página .

  13. Seleccione una opción de Sobrescribir medios ; para ello, haga clic en una de las opciones siguientes:

    • Hacer copia de seguridad en el conjunto de medios existente

      Para esta opción, haga clic en Anexar al conjunto de copia de seguridad existente o Sobrescribir todos los conjuntos de copia de seguridad existentes.

      Para obtener más información sobre cómo hacer copias de seguridad de los conjuntos de medios existentes, vea Conjuntos de medios, familias de medios y conjuntos de copias de seguridad (SQL Server).

      • Opcionalmente, seleccione Comprobar nombre de conjunto de medios y fecha de expiración del conjunto de copia de seguridad para que la operación de copia de seguridad compruebe la fecha y la hora en que expiran el conjunto de medios y el conjunto de copia de seguridad.

      • También puede escribir un nombre en el cuadro de texto Nombre del conjunto de medios. Si no se especifica ningún nombre, se crea un conjunto de medios con un nombre en blanco. Si especifica un nombre para el conjunto, se comprueban los medios (cinta o disco) para ver si el nombre real coincide con el nombre especificado aquí.

      Si deja el nombre del conjunto de medios en blanco y selecciona la casilla para comprobarlo con los medios, el resultado correcto significará que el nombre del conjunto en los medios también está en blanco.

    • Hacer copia de seguridad en un nuevo conjunto de medios y borrar todos los conjuntos de copia de seguridad existentes

      Para esta opción, especifique un nombre en el cuadro de texto Nuevo nombre del conjunto de medios y, si lo desea, describa el conjunto de medios en el cuadro de texto Nueva descripción del conjunto de medios .

      Para obtener más información sobre cómo crear un conjunto de medios, vea Conjuntos de medios, familias de medios y conjuntos de copias de seguridad (SQL Server).

  14. Opcionalmente, en la sección Confiabilidad, active lo siguiente:

  15. Si va a realizar copias de seguridad en una unidad de cinta (según se haya especificado en la sección Destino de la página General ), la opción Descargar la cinta después de realizar la copia de seguridad está activa. Al hacer clic en esta opción, se habilita la opción Rebobinar la cinta antes de descargar .

    Nota:

    Las opciones de la sección Registro de transacciones se encuentran inactivas salvo que vaya a realizar una copia de seguridad de un registro de transacciones (según se haya especificado en la sección Tipo de copia de seguridad de la página General ).

  16. SQL Server 2008 (10.0.x) Enterprise y las versiones posteriores admiten la compresión de copia de seguridad. De forma predeterminada, el hecho de que se comprima una copia de seguridad depende del valor de la opción de configuración del servidor backup-compression default . Pero, independientemente del valor predeterminado actual de nivel de servidor, puede comprimir una copia de seguridad si activa Comprimir copia de seguridade impedir la compresión si activa No comprimir copia de seguridad.

    Para ver la compresión de copia de seguridad actual predeterminada, vea Ver o establecer la opción de configuración del servidor de compresión de copia de seguridad predeterminada

Usar Transact-SQL

Para crear una copia de seguridad de archivos o de un grupo de archivos, use una instrucción BACKUP DATABASE<>file_or_filegroup. Como mínimo, esta instrucción debe especificar:

  • Nombre de la base de datos.

  • Una cláusula FILE o FILEGROUP para cada archivo o grupo de archivos, respectivamente.

  • El dispositivo de copia de seguridad en el que se escribirá la copia de seguridad completa.

La sintaxis Transact-SQL básica para una copia de seguridad de archivos es:

BACKUP DATABASE database

{ FILE =logical_file_name | FILEGROUP =logical_filegroup_name } [ ,...f ]

TO backup_device [ ,...n ]

[ WITH with_options [ ,...o ] ] ;

Opción Descripción
database 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.
FILE =logical_file_name Especifica el nombre lógico de un archivo que se debe incluir en la copia de seguridad de archivos.
FILEGROUP =logical_filegroup_name Especifica el nombre lógico de un grupo de archivos que se debe incluir en la copia de seguridad de archivos. 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.
[ ,...f ] Se trata de un marcador de posición que indica que se pueden especificar varios archivos y grupos de archivos. El número de archivos o grupos de archivos es ilimitado.
backup_device [ ,...n ] Especifica una lista de 1 a 64 dispositivos de copia de seguridad que se pueden utilizar en la operación de copia de seguridad. Puede especificar un dispositivo físico de copia de seguridad o puede especificar un dispositivo de copia de seguridad lógico correspondiente, si ya se definió. Para especificar un dispositivo de copia de seguridad físico, use la opción DISK o TAPE:

{ DISK | TAPE } =physical_backup_device_name

Para obtener más información, vea Dispositivos de copia de seguridad (SQL Server).
WITH with_options [ ,...o ] Opcionalmente, especifica una o más opciones, como DIFFERENTIAL. Una copia de seguridad diferencial de archivos necesita una copia de seguridad completa de archivos como base.

Para obtener más información, vea Crear una copia de seguridad diferencial de base de datos (SQL Server).

Con el modelo de recuperación completa, también debe realizar copias de seguridad del registro de transacciones. Para utilizar un conjunto completo de copias de seguridad de completas archivos para restaurar una base de datos, también debe tener suficientes copias de seguridad de registros que abarquen todas las copias de seguridad de archivos, desde el principio de la primera copia de seguridad de archivos.

Para obtener más información, vea Realizar copia de seguridad de un registro de transacciones (SQL Server).

Ejemplos

Los siguientes ejemplos realizan copias de seguridad de uno o más archivos de los grupos de archivos secundarios de la base de datos Sales . Esta base de datos utiliza el modelo de recuperación completa y contiene los siguientes grupos de archivos secundarios:

  • Un grupo de archivos denominado SalesGroup1 , con los archivos SGrp1Fi1 y SGrp1Fi2.

  • Un grupo de archivos denominado SalesGroup2 , con los archivos SGrp2Fi1 y SGrp2Fi2.

A Crear una copia de seguridad de archivos de dos archivos

En el siguiente ejemplo se crea una copia de seguridad diferencial de archivos solo del archivo SGrp1Fi2 de SalesGroup1 y del archivo SGrp2Fi2 del grupo de archivos SalesGroup2 .

--Backup the files in the SalesGroup1 secondary filegroup.  
BACKUP DATABASE Sales  
   FILE = 'SGrp1Fi2',   
   FILE = 'SGrp2Fi2'   
   TO DISK = 'G:\SQL Server Backups\Sales\SalesGroup1.bck';  
GO  

B 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 = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck';  
GO  

C. 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 = 'C:\MySQLServer\Backups\Sales\SalesFiles.bck'  
   WITH   
      DIFFERENTIAL;  
GO  

Usar PowerShell

Configure y use el Proveedor de SQL Server PowerShell.

Use el cmdlet Backup-SqlDatabase y especifique Files como valor del parámetro -BackupAction . Especifique también uno de los parámetros siguientes:

  • Para hacer una copia de seguridad de un archivo determinado, especifique el parámetro -DatabaseFileString , donde String es uno o varios archivos de base de datos de los que se va a hacer una copia de seguridad.

  • Para hacer una copia de seguridad de todos los archivos de un grupo de archivos determinado, especifique el parámetro -DatabaseFileGroupString , donde String es uno o varios grupos de archivos de base de datos de los que se va a hacer una copia de seguridad.

En el ejemplo siguiente se crea una copia de seguridad de archivos completa de cada uno de los archivos de los dos grupos de archivos secundarios 'FileGroup1' y 'FileGroup2' de la base de datos <myDatabase> . Las copias de seguridad se crean en la ubicación de copia de seguridad predeterminada de la instancia del servidor Computer\Instance.

Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2" 

Consulte también

Backup Overview (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Historial de copias de seguridad e información de encabezados (SQL Server)
Copia de seguridad de base de datos (página General)
Copia de seguridad de la base de datos (página Opciones de copia de seguridad)
Copias de seguridad de archivos completas (SQL Server)
Copias de seguridad diferenciales (SQL Server)
Restauraciones de archivos (modelo de recuperación completa)
Restauraciones de archivos (modelo de recuperación simple)