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.
Importante: |
---|
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
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
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 archivosSGrp1Fi1
ySGrp1Fi2
. - Un grupo de archivos denominado
SalesGroup2
, con los archivosSGrp2Fi1
ySGrp2Fi2
.
[!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
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)