Compartir a través de


Copia de seguridad de archivos y grupos de archivos (SQL Server)

En este tema se describe cómo realizar copias de seguridad de archivos y grupos de archivos en SQL Server 2014 mediante SQL Server Management Studio, Transact-SQL o PowerShell. Cuando los requisitos de rendimiento y tamaño de la base de datos hacen que una copia de seguridad completa de la base de datos no sea práctica, puede crear una copia de seguridad de archivos 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).

En este tema

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 deben realizar copias de seguridad de todos los archivos de lectura y escritura. Esto ayuda a asegurarse de que la base de datos se puede restaurar a un momento dado coherente. En lugar de especificar individualmente cada archivo de lectura y escritura o grupo de archivos, use la opción READ_WRITE_FILEGROUPS. Esta opción realiza una copia de seguridad de todos los grupos de archivos de lectura y escritura de la base de datos. Una copia de seguridad que se crea especificando READ_WRITE_FILEGROUPS se conoce como copia de seguridad parcial. Para obtener más información, 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 realiza una copia de seguridad del registro con mucha frecuencia, estos mensajes de éxito se acumulan rápidamente, lo que da lugar a registros de errores enormes que pueden dificultar la búsqueda de otros mensajes. En tales casos, puede suprimir estas entradas de registro mediante la marca de seguimiento 3226 si ninguno de los scripts depende de esas entradas. Para obtener más información, vea Marcas de seguimiento (Transact-SQL).

Seguridad

Permisos

De forma predeterminada, los permisos BACKUP DATABASE y BACKUP LOG 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. Estos problemas en el archivo físico del dispositivo de copia de seguridad pueden no aparecer hasta que se accede al recurso físico cuando se intenta realizar la copia de seguridad o restauración.

Uso de SQL Server Management Studio

Para realizar copias de seguridad de archivos y archivos de base de datos

  1. Después de conectarse a la instancia adecuada 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. Expande Bases de datos y, dependiendo del tipo de base de datos, selecciona la base de datos de un usuario o expande Bases de datos del sistema y selecciona una base de datos del sistema.

  3. Haga clic con el botón derecho en la base de datos, seleccione Tareas y, a continuación, haga clic en 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. Opcionalmente, puede seleccionar una base de datos diferente de la lista.

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

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

  7. En el cuadro de diálogo Seleccionar archivos y grupos de archivos, seleccione los archivos y grupos de archivos de los que desea realizar una copia de seguridad. Puede seleccionar uno o varios archivos individuales o activar la casilla de un grupo de archivos para seleccionar automáticamente todos los archivos de ese grupo de archivos.

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

  9. Opcionalmente, en el cuadro de texto Descripción , escriba una descripción del 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 después de un número específico de días, haga clic en Después (la opción predeterminada). A continuación, escriba el número de días después de la creación del conjunto que expirará el conjunto. Este valor puede ser de 0 a 99999 días; Un valor de 0 días significa que el conjunto de copia de seguridad nunca expirará.

      El valor predeterminado se establece en la opción Retención predeterminada de medios de copia de seguridad (en días) del cuadro de diálogo Propiedades del servidor (página Configuración de base de datos ). Para acceder a esta opción, haga clic con el botón derecho en el nombre del servidor en el Explorador de objetos y seleccione propiedades; a continuación, seleccione la página Configuración de la base de datos .

    • Para que el conjunto de copia de seguridad expire en una fecha específica, haga clic en Activado y escriba la fecha en la que expirará el conjunto.

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

    Nota:

    Para quitar 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 Sobrescribir medios haciendo clic en una de las siguientes opciones:

    • Realizar 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 Sobrescriba todos los conjuntos de copia de seguridad existentes. Para obtener información sobre la copia de seguridad en un conjunto de medios existente, vea Conjuntos de medios, familias de medios y conjuntos de copia de seguridad (SQL Server).

      Opcionalmente, seleccione Comprobar el nombre del conjunto de medios y la caducidad del conjunto de copia de seguridad para que la operación de copia de seguridad verifique la fecha y hora en que caducan el conjunto de medios y el conjunto de copia de seguridad.

      Opcionalmente, escriba 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 de conjunto de medios, se comprueba el medio (cinta o disco) para ver si el nombre real coincide con el nombre que escriba aquí.

      Si deja el nombre del medio en blanco y marca la casilla para compararlo con el medio, se considerará un éxito si el nombre del medio en el medio también está en blanco.

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

      Para esta opción, escriba un nombre en el cuadro de texto Nuevo nombre del conjunto de medios y, opcionalmente, 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 nuevo conjunto de medios, vea Conjuntos de medios, familias de medios y conjuntos de copia de seguridad (SQL Server).

  14. En la sección Confiabilidad , compruebe opcionalmente:

  15. Si va a realizar una copia de seguridad en una unidad de cinta (como se especifica 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 descargarla .

    Nota:

    Las opciones de la sección Registro de transacciones están inactivas a menos que realice una copia de seguridad de un registro de transacciones (como se especifica en la sección Tipo de copia de seguridad de la página General ).

  16. SQL Server 2008 Enterprise y versiones posteriores admiten la compresión de copia de seguridad. De forma predeterminada, si una copia de seguridad está comprimida depende del valor de la opción de configuración predeterminada de compresión de copia de seguridad . Sin embargo, independientemente del valor predeterminado de nivel de servidor actual, puede comprimir una copia de seguridad comprobando Comprimir copia de seguridad y puede evitar la compresión comprobando No comprimir la copia de seguridad.

    Para ver el valor predeterminado de compresión de copia de seguridad actual

Uso de Transact-SQL

Para realizar copias de seguridad de archivos y grupos de archivos

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

    • Nombre de la base de datos.

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

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

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

    Base de datos BACKUP DATABASE

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

    TO backup_device [ ,... n ]

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

    Opción Descripción
    base de datos 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.
    ARCHIVO =logical_file_name Especifica el nombre lógico de un archivo que se va a incluir en la copia de seguridad de archivos.
    FILEGROUP =NOMBRE_GRUPO_DE_ARCHIVOS_LÓGICO Especifica el nombre lógico de un grupo de archivos que se va a 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 ] Es 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 entre 1 y 64 dispositivos de copia de seguridad que se usarán para la operación de copia de seguridad. Puede especificar un dispositivo de copia de seguridad físico o puede especificar un dispositivo lógico de copia de seguridad correspondiente, si ya está definido. 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 varias opciones adicionales, como DIFERENCIAL.

    Nota: Una copia de seguridad diferencial de archivos requiere 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).
  2. En el modelo de recuperación completa, también debe realizar una copia de seguridad del registro de transacciones. Para usar un conjunto completo de copias de seguridad de archivos completas para restaurar una base de datos, también debe tener suficientes copias de seguridad de registros para abarcar todas las copias de seguridad de archivos, desde el principio de la primera copia de seguridad de archivos. Para obtener más información, consulte Copia de seguridad de un registro de transacciones (SQL Server).

Ejemplos (Transact-SQL)

En los ejemplos siguientes se realiza una copia de seguridad de uno o varios archivos de los grupos de archivos secundarios de la Sales base de datos. Esta base de datos usa el modelo de recuperación completa y contiene los siguientes grupos de archivos secundarios:

  • Un grupo de archivos denominado SalesGroup1 que tiene los archivos SGrp1Fi1 y SGrp1Fi2.

  • Un grupo de archivos denominado SalesGroup2 que tiene los archivos SGrp2Fi1 y SGrp2Fi2.

A. Creación de una copia de seguridad de dos archivos

En el ejemplo siguiente 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. Creación de 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 diferencial de archivos 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  

Uso de PowerShell

Use el Backup-SqlDatabase cmdlet y especifique Files para el valor del -BackupAction parámetro . Además, especifique uno de los parámetros siguientes:

-   To back up a specific file, specify the `-DatabaseFile`*String* parameter, where *String* is one or more database files to be backed up.  

-   To back up all the files in a given filegroup, specify the `-DatabaseFileGroup`*String* parameter, where *String* is one or more database filegroups to be backed up.  

 The following example creates a full file backup of every file in the secondary filegroups 'FileGroup1' and 'FileGroup2' in the `MyDB` database. The backups are created on the default backup location of the server instance `Computer\Instance`.  

```powershell
Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2"  
```  

Para configurar y usar el proveedor de SQL Server PowerShell, consulte Proveedor de SQL Server PowerShell.

Véase también

Información general de copia de seguridad (SQL Server)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Historial de copias de seguridad e información de encabezado (SQL Server)
Copia de seguridad de la 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)