Realizar copias 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 2012 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 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 (SQL Server) y Copias de seguridad diferenciales (SQL Server).

En este tema

  • Antes de empezar:

    Limitaciones y restricciones

    Recomendaciones

    Seguridad

  • Para realizar copias de seguridad de archivos y grupos de archivos, utilizando:

    SQL Server Management Studio

    Transact-SQL

    PowerShell

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. Para obtener más información, vea Copias de seguridad parciales (SQL Server).

  • Para obtener más información acerca de 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 usando 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. No obstante, 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.

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Usar SQL Server Management Studio

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

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

  2. Expanda Bases de datos y, dependiendo de la base de datos, seleccione una base de datos de 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 Tareas y haga clic en Copia de seguridad. Aparece 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, escriba una descripción del conjunto de copia de seguridad.

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

    • Para hacer que el conjunto de copia de seguridad expire después de un número concreto de días, haga clic en Después de (la opción predeterminada). A continuación, escriba el número de días que deben transcurrir después de la creación del conjunto para que éste 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.

      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). Para tener acceso a esta opción, haga clic con el botón secundario en el nombre del servidor en el Explorador de objetos y seleccione Propiedades; a continuación, 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 El y 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 información sobre cómo hacer copia de seguridad en un conjunto de medios existente, 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 especifica ningún nombre, se creará 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 acerca de cómo crear un conjunto de medios nuevo, vea Conjuntos de medios, familias de medios y conjuntos de copias de seguridad (SQL Server).

  14. Opcionalmente, en la sección Confiabilidad, seleccione:

  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 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. Sin embargo, independientemente del valor predeterminado actual del servidor, puede comprimir una copia de seguridad activando Comprimir copia de seguridad y evitar la compresión activando No comprimir copia de seguridad.

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

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Usar Transact-SQL

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

    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 usar 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.

    [!NOTA]

    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 una base de datos (SQL Server).

  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 Realizar copia de seguridad de un registro de transacciones (SQL Server).

Ejemplos (Transact-SQL)

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

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Usar PowerShell

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

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

    • Para realizar una copia de seguridad de todos los archivos de un grupo de archivos determinado, especifique el parámetro -DatabaseFileGroup String, 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 MyDB. Las copias de seguridad se crean en la ubicación de copia de seguridad predeterminada de la instancia de servidor Computer\Instance.

    --Enter this command at the PowerShell command prompt, C:\PS>
    Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Files -DatabaseFileGroup "FileGroup1","FileGroup2"
    

Para configurar y usar el proveedor de SQL Server PowerShell

Icono de flecha usado con el vínculo Volver al principio[Arriba]

Vea también

Referencia

BACKUP (Transact-SQL)

RESTORE (Transact-SQL)

Copia de seguridad de base de datos (página General)

Copia de seguridad de base de datos (página Opciones)

Conceptos

Información general de copia de seguridad (SQL Server)

Historial de copias de seguridad e información de encabezados (SQL Server)

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)