Realizar copia de seguridad de un registro de transacciones (SQL Server)Back Up a Transaction Log (SQL Server)

SE APLICA A: síSQL Server noAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

En este tema se describe cómo realizar una copia de seguridad de un registro de transacciones en SQL Server 2017SQL Server 2017 mediante SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQLo PowerShell.This topic describes how to back up a transaction log in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell.

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. Una transacción explícita es aquella en que se define explícitamente el inicio y el final de la transacción.An explicit transaction is one in which you explicitly define both the start and end of the transaction.

RecomendacionesRecommendations

  • Si una base de datos usa el modelo de recuperación optimizado para cargas masivas de registros o completo, debe hacer una copia de seguridad del registro de transacciones con suficiente regularidad para proteger los datos e impedir que el registro de transacciones se llene.If a database uses either the full or bulk-logged recovery model, you must back up the transaction log regularly enough to protect your data, and to prevent the transaction log from filling. De este modo se trunca el registro y se admite la restauración de la base de datos a un momento concreto.This truncates the log and supports restoring the database to a specific point in time.

  • 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 con frecuencia, estos mensajes que indican la corrección de la operación pueden acumularse rápidamente, lo que da lugar a registros de errores muy grandes que pueden dificultar la búsqueda de otros mensajes.If you back up the log frequently, these success messages accumulate quickly, resulting in huge error logs, making finding other messages difficult. En esos casos, puede suprimir estas entradas de registro usando la marca de seguimiento 3226 si ninguno de los scripts depende de esas entradas.In such cases you can suppress these log entries by using trace flag 3226, if none of your scripts depend on those entries. Para obtener más información, vea Marcas de seguimiento (Transact-SQL).For more information, see Trace Flags (Transact-SQL).

PermisosPermissions

Compruebe los permisos correctos antes de empezar.Check for the correct permissions before you begin!

De forma predeterminada, los permisos BACKUP DATABASE y BACKUP LOG necesarios se conceden a los miembros del rol fijo de servidor sysadmin y de los roles fijos de base de datos db_owner y db_backupoperator .The BACKUP DATABASE and BACKUP LOG permissions needed are granted by 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. Pero 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 los problemas con los permisos del archivo físico del dispositivo de copia de seguridad no sean evidentes para usted hasta que intente tener acceso al recurso físico al tratar de realizar una copia de seguridad o restaurar.Permissions problems on the backup device's physical file may not become obvious to you until you attemt to access the physical resource when you try to backup or restore. De este modo, una vez más, compruebe los permisos antes de empezar.So again, check permissions before you begin!

Nota

Si encuentra algo obsoleto o incorrecto en este artículo, como en un paso o en un ejemplo de código, indíquenoslo.If you find something outdated or incorrect in this article, such as on a step or in a code example, please tell us. Puede hacer clic en el botón Esta página situado en la sección Comentarios en la parte inferior de esta página.You can click the This page button in the Feedback section at the bottom of this page. O mejor, si conoce la corrección, puede hacer clic en el icono Edit-pencil (Editar-lápiz) de la parte superior de esta página y, a continuación, hacer clic en el icono de lápiz en la página de GitHub.Or better, if you know the fix, you can click the Edit-pencil icon at the top of this page, and then click the pencil icon on the GitHub page. ¡Gracias!Thank you!

Realizar una copia de seguridad usando SSMSBack up using SSMS

  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 datosy, 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 Tareasy 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 el cuadro de lista Base de datos , compruebe el nombre de la base de datos.In the Database list box, 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. Compruebe que el modelo de recuperación sea FULL o BULK_LOGGED.Verify that the recovery model is either FULL or BULK_LOGGED.

  6. En el cuadro de lista Tipo de copia de seguridad , seleccione Registro de transacciones.In the Backup type list box, select Transaction Log.

  7. También puede seleccionar Copia de seguridad de solo copia para crear una copia de seguridad de solo copia.Optionally, you can select Copy Only Backup to create a copy-only backup. Una copia de seguridad de solo copia es una copia de seguridad de SQL ServerSQL Server independiente de la secuencia de copias de seguridad convencionales de SQL ServerSQL Server.A copy-only backup is a SQL ServerSQL Server backup that is independent of the sequence of conventional SQL ServerSQL Server backups. Para obtener más información, vea Copias de seguridad de solo copia (SQL Server).For more information, see Copy-Only Backups (SQL Server).

    ** NOTA** Cuando la opción Diferencial está seleccionada, no se puede crear una copia de seguridad de solo copia.** NOTE!** When the Differential option is selected, you cannot create a copy-only backup.

  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 , escriba una descripción del conjunto de copia de seguridad.Optionally, 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 (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áginaConfiguració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 este cuadro de diálogo, haga clic con el botón derecho en el nombre del servidor en el Explorador de objetos y seleccione Propiedades. Después, seleccione la página Configuración de base de datos .To access this dialog box, 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 Ely 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, Dirección URL o Cinta.Choose the type of backup destination by clicking Disk, URL or Tape. Para seleccionar las rutas de acceso de hasta 64 unidades de disco o cinta que contienen un solo conjunto de medios, haga clic en Agregar.To select the paths of up to 64 disk or tape drives containing a single media set, click Add. Las rutas seleccionadas se muestran en el cuadro de lista Copia de seguridad en .The selected paths are displayed in the Backup to list box.

    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, vea Conjuntos de medios, familias de medios y conjuntos de copias de seguridad (SQL Server).For more information, 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.Optionally, 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 .Optionally, 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, los medios (cinta o disco) se comprueban 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 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, vea Conjuntos de medios, familias de medios y conjuntos de copias de seguridad (SQL Server).For more information, see Media Sets, Media Families, and Backup Sets (SQL Server).

  14. Opcionalmente, en la sección Confiabilidad , seleccione:In the Reliability section, optionally, check:

  15. En la sección Registro de transacciones :In the Transaction log section:

    • Para las copias de seguridad rutinarias del registro, conserve la selección predeterminada Truncar el registro de transacciones quitando las entradas inactivas.For routine log backups, keep the default selection, Truncate the transaction log by removing inactive entries.

    • Para hacer una copia de seguridad del final del registro (es decir, del registro activo), active Realizar copia de seguridad del final del registro y dejar la base de datos en estado de restauración.To back up the tail of the log (that is, the active log), check Back up the tail of the log, and leave database in the restoring state.

      Una copia del final del registro se lleva a cabo cuando no se consigue realizar la copia de seguridad del final de registro para impedir la pérdida de trabajo.A tail-log backup is taken after a failure to back up the tail of the log in order to prevent work loss. Realice una copia de seguridad del registro activo (copia del final del registro) después de un error, antes de comenzar la restauración de la base de datos o cuando se conmuta por error a una base de datos secundaria.Back up the active log (a tail-log backup) both after a failure, before beginning to restore the database, or when failing over to a secondary database. Esta opción equivale a especificar la opción NORECOVERY en la instrucción BACKUP LOG de Transact-SQL.Selecting this option is equivalent to specifying the NORECOVERY option in the BACKUP LOG statement of Transact-SQL. Para obtener más información sobre las copias del final del registro, vea Copias del final del registro (SQL Server).For more information about tail-log backups, see Tail-Log Backups (SQL Server).

  16. 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 activa la opción Rebobinar la cinta antes de descargar .Clicking this option activates the Rewind the tape before unloading option.

  17. SQL Server 2008 EnterpriseSQL Server 2008 Enterprise y las versiones posteriores admiten la compresión de copia de seguridad.and later supports 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 seguridade 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 el valor predeterminado actual de la compresión de copia de seguridadTo view the current backup compression default

CifradoEncryption

Para cifrar el archivo de copia de seguridad, active la casilla Cifrar copia de seguridad .To encrypt the backup file check the Encrypt backup check box. Seleccione un algoritmo de cifrado que utilizar para cifrar el archivo de copia de seguridad y proporcione un certificado o clave asimétrica.Select an encryption algorithm to use for encrypting the backup file and provide a Certificate or Asymmetric key. Los algoritmos disponibles para el cifrado son:The available algorithms for encryption are:

  • AES 128AES 128

  • AES 192AES 192

  • AES 256AES 256

  • Triple DESTriple DES

Realizar una copia de seguridad usando T-SQLBack up using T-SQL

  1. Ejecute la instrucción BACKUP LOG para realizar una copia de seguridad del registro de transacciones y especifique:Execute the BACKUP LOG statement to back up the transaction log, specifying the following:

    • El nombre de la base de datos a la que pertenece el registro de transacciones del que se desea hacer una copia de seguridad.The name of the database to which the transaction log that you want to back up belongs.

    • El dispositivo de copia de seguridad en el que se va a escribir la copia de seguridad del registro de transacciones.The backup device where the transaction log backup is written.

Ejemplo (Transact-SQL)Example (Transact-SQL)

IMPORTANTEIMPORTANT!!! En este ejemplo se utiliza la base de datos AdventureWorks2012AdventureWorks2012 , que utiliza el modelo de recuperación simple.This example uses the AdventureWorks2012AdventureWorks2012 database, which uses the simple recovery model. Con el fin de permitir copias de seguridad de registros, antes de realizar una copia de seguridad completa de la base de datos, la base de datos se ha configurado para usar el modelo de recuperación completa.To permit log backups, before taking a full database backup, the database was set to use the full recovery model. Para obtener más información, vea Ver o cambiar el modelo de recuperación de una base de datos (SQL Server).For more information, see View or Change the Recovery Model of a Database (SQL Server).

En este ejemplo se crea una copia de seguridad del registro de transacciones de la base de datos AdventureWorks2012AdventureWorks2012 en el dispositivo de copia de seguridad creado anteriormente, MyAdvWorks_FullRM_log1.This example creates a transaction log backup for the AdventureWorks2012AdventureWorks2012 database to the previously created named backup device, MyAdvWorks_FullRM_log1.

BACKUP LOG AdventureWorks2012  
   TO MyAdvWorks_FullRM_log1;  
GO  

Usar PowerShellUsing PowerShell

  1. Use el cmdlet Backup-SqlDatabase y especifique Log como valor del parámetro -BackupAction .Use the Backup-SqlDatabase cmdlet and specify Log for the value of the -BackupAction parameter.

    En el ejemplo siguiente se crea una copia de seguridad de registro de la base de datos MyDB en la ubicación de copia de seguridad predeterminada de la instancia de servidor Computer\Instance.The following example creates a log backup of the MyDB database to the default backup location of the server instance Computer\Instance.

    --Enter this command at the PowerShell command prompt, C:\PS>  
    Backup-SqlDatabase -ServerInstance Computer\Instance -Database MyDB -BackupAction Log  
    

Para configurar y usar el proveedor de SQL Server PowerShellTo set up and use the SQL Server PowerShell provider

Related tasksRelated tasks

Más informaciónMore information

BACKUP (Transact-SQL) BACKUP (Transact-SQL)
Aplicar copias de seguridad del registro de transacciones (SQL Server) Apply Transaction Log Backups (SQL Server)
Planes de mantenimiento Maintenance Plans
Copias de seguridad de archivos completas (SQL Server)Full File Backups (SQL Server)