Realizar copias de seguridad de archivos y grupos de archivosBack Up Files and Filegroups

Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions) Se aplica a:Applies to: síSQL ServerSQL Server (todas las versiones admitidas) yesSQL ServerSQL Server (all supported versions)

En este tema se describe cómo realizar copias de seguridad de archivos y grupos de archivos en SQL Server 2019 (15.x)SQL Server 2019 (15.x) mediante SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLo PowerShell.This topic describes how to back up files and filegroups in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or 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.When the database size and performance requirements make a full database backup impractical, you can create a file backup instead. Una copia de seguridad de archivos contiene todos los datos de uno o varios archivos (o grupos de archivos).A file backup contains all the data in one or more files (or filegroups).

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).For more information about file backups, see Full File Backups (SQL Server) and Differential Backups (SQL Server).

Antes de comenzarBefore You Begin

Limitaciones y restriccionesLimitations and Restrictions

  • La instrucción BACKUP no se permite en una transacción explícita o implícita.The BACKUP statement is not allowed in an explicit or implicit transaction.

  • En el modelo de recuperación simple, se debe hacer una copia de seguridad de todos los archivos de lectura/escritura juntos.Under the simple recovery model, read/write files must all be backed up together. Esto ayuda a garantizar que la base de datos se pueda restaurar a un punto temporal coherente.This helps make sure that the database can be restored to a consistent point in time. En lugar de especificar de forma individual cada grupo de archivos o cada archivo de lectura/escritura utilice la opción READ_WRITE_FILEGROUPS.Instead of individually specifying each read/write file or filegroup, use the READ_WRITE_FILEGROUPS option. Esta opción realiza una copia de seguridad de todos los grupos de archivos de lectura/escritura de la base de datos.This option backs up all the read/write filegroups in the database. 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).A backup that is created by specifying READ_WRITE_FILEGROUPS is known as a partial backup, see Partial Backups (SQL Server).

Para obtener más información sobre las limitaciones y restricciones, vea Información general de copia de seguridad (SQL Server).For more information about limitations and restrictions, see Backup Overview (SQL Server).

RecomendacionesRecommendations

De forma predeterminada, cada operación de copia de seguridad correcta agrega una entrada en el registro de errores de SQL ServerSQL Server y en el registro de eventos del sistema.By default, every successful backup operation adds an entry in the SQL ServerSQL Server error log and in the system event log. 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.If you back up the log very frequently, these success messages accumulate quickly, resulting in huge error logs that can make finding other messages difficult. 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).In such cases you can suppress these log entries by using trace flag 3226 if none of your scripts depend on those entries, see Trace Flags (Transact-SQL).

PermisosPermissions

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.BACKUP DATABASE and BACKUP LOG permissions default to members of the sysadmin fixed server role and the db_owner and db_backupoperator fixed database roles.

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.Ownership and permission problems on the backup device's physical file can interfere with a backup operation. SQL ServerSQL Server debe poder leer y escribir en el dispositivo y la cuenta en la que se ejecuta el servicio SQL ServerSQL Server debe tener permisos de escritura.must be able to read and write to the device; the account under which the SQL ServerSQL Server service runs must have write permissions. 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.However, sp_addumpdevice, which adds an entry for a backup device in the system tables, does not check file access permissions. 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.Such problems on the backup device's physical file may not appear until the physical resource is accessed when the backup or restore is attempted.

Uso de SQL Server Management StudioUsing SQL Server Management Studio

  1. Después de conectarse a la instancia apropiada de Motor de base de datos de SQL ServerSQL Server Database Engine, en el Explorador de objetos, haga clic en el nombre del servidor para expandir el árbol de servidores.After connecting to the appropriate instance of the Motor de base de datos de SQL ServerSQL Server Database Engine, in Object Explorer, click the server name to expand the server tree.

  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.Expand Databases, and, depending on the database, either select a user database or expand System Databases and select a system database.

  3. Haga clic con el botón derecho en la base de datos, seleccione Tareas y haga clic en Copia de seguridad.Right-click the database, point to Tasks, and then click Back Up. Aparece el cuadro de diálogo Copia de seguridad de base de datos .The Back Up Database dialog box appears.

  4. En la lista Base de datos , compruebe el nombre de la base de datos.In the Database list, verify the database name. También puede seleccionar otra base de datos en la lista.You can optionally select a different database from the list.

  5. En la lista Tipo de copia de seguridad , seleccione Completa o Diferencial.In the Backup type list, select Full or Differential.

  6. En la opción Componente de copia de seguridad , haga clic en Archivo y grupos de archivos.For the Backup component option, click File and Filegroups.

  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.In the Select Files and Filegroups dialog box, select the files and filegroups you want to back up. 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.You can select one or more individual files or check the box for a filegroup to automatically select all the files in that filegroup.

  8. Acepte el nombre del conjunto de copia de seguridad predeterminado sugerido en el cuadro de texto Nombre o especifique otro nombre.Either accept the default backup set name suggested in the Name text box, or enter a different name for the backup set.

  9. Opcionalmente, en el cuadro de texto Descripción, describa el conjunto de copia de seguridad.(optional) In the Description text box, enter a description of the backup set.

  10. Especifique cuándo expirará el conjunto de copia de seguridad:Specify when the backup set will expire:

    • 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á.To have the backup set expire after a specific number of days, click After (the default option) and enter the number of days after set creation that the set will expire. Este valor puede estar entre 0 y 99999 días; el valor 0 significa que el conjunto de copia de seguridad no expirará nunca.This value can be from 0 to 99999 days; a value of 0 days means that the backup set will never expire.

      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ágina Configuración de base de datos ).The default value is set in the Default backup media retention (in days) option of the Server Properties dialog box (Database Settings page). 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 .To access this option, right-click the server name in Object Explorer and select properties; then select the Database Settings page.

    • Para que el conjunto de copia de seguridad expire en una determinada fecha, haga clic en El y escriba la fecha en la que expirará.To have the backup set expire on a specific date, click On, and enter the date on which the set will expire.

  11. Elija el tipo de destino de la copia de seguridad haciendo clic en Disco o Cinta.Choose the type of backup destination by clicking Disk or Tape. Para seleccionar las rutas de hasta 64 unidades de disco o de cinta que contengan un solo conjunto de medios, haga clic en Agregar.To select the paths of up to 64 disk or tape drives that contain a single media set, click Add. Las rutas seleccionadas se muestran en la lista Copia de seguridad en .The selected paths are displayed in the Backup to list.

    Nota

    Para eliminar un destino de copia de seguridad, selecciónelo y haga clic en Quitar.To remove a backup destination, select it and click Remove. Para ver el contenido de un destino de copia de seguridad, selecciónelo y haga clic en Contenido.To view the contents of a backup destination, select it and click Contents.

  12. Para ver o seleccionar las opciones avanzadas, haga clic en Opciones , en el panel Seleccionar una página .To view or select the advanced options, click Options in the Select a page pane.

  13. Seleccione una opción de Sobrescribir medios ; para ello, haga clic en una de las opciones siguientes:Select an Overwrite Media option, by clicking one of the following:

    • Hacer copia de seguridad en el conjunto de medios existenteBack up to the existing media set

      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.For this option, click either Append to the existing backup set or Overwrite all existing backup sets.

      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).For information about backing up to an existing media set, see Media Sets, Media Families, and Backup Sets (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.(optional) Select Check media set name and backup set expiration to cause the backup operation to verify the date and time at which the media set and backup set expire.

      • También puede escribir un nombre en el cuadro de texto Nombre del conjunto de medios.(optional) Enter a name in the Media set name text box. Si no especifica ningún nombre, se creará un conjunto de medios con un nombre en blanco.If no name is specified, a media set with a blank name is created. 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í.If you specify a media set name, the media (tape or disk) is checked to see whether the actual name matches the name that you enter here.

      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.If you leave the media name blank and check the box to check it against the media, success will equal the media name on the media also being blank.

    • Hacer copia de seguridad en un nuevo conjunto de medios y borrar todos los conjuntos de copia de seguridad existentesBack up to a new media set, and erase all existing backup sets

      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 .For this option, enter a name in the New media set name text box, and, optionally, describe the media set in the New media set description text box.

      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).For more information about creating a new media set, see Media Sets, Media Families, and Backup Sets (SQL Server).

  14. Opcionalmente, en la sección Confiabilidad, active lo siguiente:(optional) In the Reliability section, check:

  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.If you are backing up to a tape drive (as specified in the Destination section of the General page), the Unload the tape after backup option is active. Al hacer clic en esta opción, se habilita la opción Rebobinar la cinta antes de descargar .Clicking this option enables the Rewind the tape before unloading option.

    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 ).The options in the Transaction log section are inactive unless you are backing up a transaction log (as specified in the Backup type section of the General page).

  16. SQL Server 2008 EnterpriseSQL Server 2008 Enterprise y las versiones posteriores admiten la compresión de copia de seguridad.and later versions support backup compression. 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 .By default, whether a backup is compressed depends on the value of the backup-compression default server configuration option. Pero, independientemente del valor predeterminado actual de nivel de servidor, puede comprimir una copia de seguridad si activa Comprimir copia de seguridad e impedir la compresión si activa No comprimir copia de seguridad.However, regardless of the current server-level default, you can compress a backup by checking Compress backup, and you can prevent compression by checking Do not compress backup.

    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 predeterminadaTo view the current backup compression default, see View or Configure the backup compression default Server Configuration Option

Usar Transact-SQLUsing 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>.To create a file or filegroup backup, use a BACKUP DATABASE <file_or_filegroup> statement. Como mínimo, esta instrucción debe especificar:Minimally, this statement must specify the following:

  • Nombre de la base de datos.The database name.

  • Una cláusula FILE o FILEGROUP para cada archivo o grupo de archivos, respectivamente.A FILE or FILEGROUP clause for each file or filegroup, respectively.

  • El dispositivo de copia de seguridad en el que se escribirá la copia de seguridad completa.The backup device on which the full backup will be written.

La sintaxis Transact-SQLTransact-SQL básica para una copia de seguridad de archivos es:The basic Transact-SQLTransact-SQL syntax for a file backup is:

BACKUP DATABASE databaseBACKUP DATABASE database

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

TO backup_device [ , ...n ]TO backup_device [ ,...n ]

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

OpciónOption DescripciónDescription
databasedatabase 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.Is the database from which the transaction log, partial database, or complete database is backed up.
FILE = logical_file_nameFILE =logical_file_name Especifica el nombre lógico de un archivo que se debe incluir en la copia de seguridad de archivos.Specifies the logical name of a file to include in the file backup.
FILEGROUP = logical_filegroup_nameFILEGROUP =logical_filegroup_name Especifica el nombre lógico de un grupo de archivos que se debe incluir en la copia de seguridad de archivos.Specifies the logical name of a filegroup to include in the file backup. 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.Under the simple recovery model, a filegroup backup is allowed only for a read-only filegroup.
[ , ...f ][ ,...f ] Se trata de un marcador de posición que indica que se pueden especificar varios archivos y grupos de archivos.Is a placeholder that indicates that multiple files and filegroups may be specified. El número de archivos o grupos de archivos es ilimitado.The number of files or filegroups is unlimited.
backup_device [ , ...n ]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.Specifies a list of from 1 to 64 backup devices to use for the backup operation. 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ó.You can specify a physical backup device, or you can specify a corresponding logical backup device, if already defined. Para especificar un dispositivo de copia de seguridad físico, use la opción DISK o TAPE:To specify a physical backup device, use the DISK or TAPE option:

{ DISK | TAPE } = physical_backup_device_name{ DISK | TAPE } =physical_backup_device_name

Para obtener más información, vea Dispositivos de copia de seguridad (SQL Server).For more information, see Backup Devices (SQL Server).
WITH with_options [ , ...o ]WITH with_options [ ,...o ] Opcionalmente, especifica una o más opciones, como DIFFERENTIAL.Optionally, specifies one or more additional options, such as DIFFERENTIAL. Una copia de seguridad diferencial de archivos necesita una copia de seguridad completa de archivos como base.A differential file backup requires a full file backup as a base.

Para obtener más información, vea Crear una copia de seguridad diferencial de base de datos (SQL Server).For more information, see Create a Differential Database Backup (SQL Server).

Con el modelo de recuperación completa, también debe realizar copias de seguridad del registro de transacciones.Under the full recovery model, you must also back up the transaction log. 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.To use a complete set of full file backups to restore a database, you must also have enough log backups to span all the file backups, from the start of the first file backup.

Para obtener más información, vea Realizar copia de seguridad de un registro de transacciones (SQL Server)).For more information, see Back Up a Transaction Log (SQL Server).

EjemplosExamples

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 .The following examples back up one or more files of the secondary filegroups of the Sales database. Esta base de datos utiliza el modelo de recuperación completa y contiene los siguientes grupos de archivos secundarios:This database uses the full recovery model and contains the following secondary filegroups:

  • Un grupo de archivos denominado SalesGroup1 , con los archivos SGrp1Fi1 y SGrp1Fi2.A filegroup named SalesGroup1 that has the files SGrp1Fi1 and SGrp1Fi2.

  • Un grupo de archivos denominado SalesGroup2 , con los archivos SGrp2Fi1 y SGrp2Fi2.A filegroup named SalesGroup2 that has the files SGrp2Fi1 and SGrp2Fi2.

A.A. Crear una copia de seguridad de archivos de dos archivosCreate a file backup of two files

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 .The following example creates a differential file backup of only the SGrp1Fi2 file of the SalesGroup1 and the SGrp2Fi2 file of the SalesGroup2 filegroup.

--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.B. Crear una copia de seguridad de archivos completa de los grupos de archivos secundariosCreate a full file backup of the secondary filegroups

En el ejemplo siguiente se crea una copia de seguridad de archivos completa de cada archivo en los dos grupos de archivos secundarios.The following example creates a full file backup of every file in both of the secondary filegroups.

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

C.C. Crear una copia de seguridad de archivos diferencial de los grupos de archivos secundariosCreate a differential file backup of the secondary filegroups

En el ejemplo siguiente se crea una copia de seguridad de archivos diferencial de cada archivo en los dos grupos de archivos secundarios.The following example creates a differential file backup of every file in both of the secondary filegroups.

--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 PowerShellUsing PowerShell

Configure y use el Proveedor de SQL Server PowerShell.Set up and use the SQL Server PowerShell Provider.

Use el cmdlet Backup-SqlDatabase y especifique Files como valor del parámetro -BackupAction .Use the Backup-SqlDatabase cmdlet and specify Files for the value of the -BackupAction parameter. Especifique también uno de los parámetros siguientes:Also, specify one of the following parameters:

  • 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.To back up a specific file, specify the -DatabaseFileString parameter, where String is one or more database files to be backed up.

  • 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.To back up all the files in a given filegroup, specify the -DatabaseFileGroupString parameter, where String is one or more database filegroups to be backed up.

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> .The following example creates a full file backup of every file in the secondary filegroups 'FileGroup1' and 'FileGroup2' in the <myDatabase> database. Las copias de seguridad se crean en la ubicación de copia de seguridad predeterminada de la instancia del servidor Computer\Instance.The backups are created on the default backup location of the server instance Computer\Instance.

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

Consulte tambiénSee Also

Información general de copia de seguridad (SQL Server) Backup Overview (SQL Server)
BACKUP (Transact-SQL) BACKUP (Transact-SQL)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
Historial de copias de seguridad e información de encabezados (SQL Server) Backup History and Header Information (SQL Server)
Copia de seguridad de base de datos (página General) Back Up Database (General Page)
Copia de seguridad de la base de datos (página Opciones de copia de seguridad) Back Up Database (Backup Options Page)
Copias de seguridad de archivos completas (SQL Server) Full File Backups (SQL Server)
Copias de seguridad diferenciales (SQL Server) Differential Backups (SQL Server)
Restauraciones de archivos (modelo de recuperación completa) File Restores (Full Recovery Model)
Restauraciones de archivos (modelo de recuperación simple)File Restores (Simple Recovery Model)