Cómo hacer una copia de seguridad de archivos y grupos de archivos (Transact-SQL)

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 archivo contiene todos los datos de uno o varios archivos (o grupos de archivos). Para obtener más información acerca de las copias de seguridad de archivos, vea Copias de seguridad de archivos completas y Copias de seguridad diferenciales de archivos.

ms179401.note(es-es,SQL.90).gifImportante:
En el modelo de recuperación simple, se debe hacer una copia de seguridad de todos los archivos de lectura y escritura juntos. Esto garantiza 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 y escritura utilice 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 al especificar READ_WRITE_FILEGROUPS se conoce como copia de seguridad parcial. Para obtener más información, vea Copias de seguridad parciales.

Para realizar copias de seguridad de archivos y grupos de archivos

  1. Para crear una copia de seguridad de archivos o de grupos 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

  2. 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 Cómo crear una copia de seguridad del registro de transacciones (Transact-SQL).

Ejemplo

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.

[!NOTA] Con el modelo de recuperación completa, las copias de seguridad de registros periódicas son necesarias para truncar el registro y admitir la restauración de la base de datos a un momento dado.

A. Crear una copia de seguridad de archivos de dos archivos

En el siguiente ejemplo se crea una copia de seguridad diferencial de archivos sólo 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 completa de archivos de los grupos de archivos secundarios

En el siguiente ejemplo se crea una copia de seguridad completa de archivos de cada archivo de ambos 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 siguiente ejemplo se crea una copia de seguridad diferencial de archivos de cada archivo de ambos 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
   WITH 
      DIFFERENTIAL,
GO

Vea también

Tareas

Cómo realizar copias de seguridad de archivos y grupos de archivos de la base de datos (SQL Server Management Studio)

Conceptos

Ver información acerca de las copias de seguridad
Copias de seguridad de archivos completas
Realizar restauraciones de archivos (modelo de recuperación completa)

Otros recursos

BACKUP (Transact-SQL)
RESTORE (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005