Compresión de copia de seguridad (SQL Server)Backup Compression (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 la compresión de copias de seguridad de SQL ServerSQL Server , incluidas las restricciones, las ventajas y desventajas de la compresión de las copias de seguridad respecto al rendimiento, la configuración de la compresión de copias de seguridad y la razón de compresión.This topic describes the compression of SQL ServerSQL Server backups, including restrictions, performance trade-off of compressing backups, the configuration of backup compression, and the compression ratio. Solo se admite la compresión de copia de seguridad en las ediciones de SQL Server 2017SQL Server 2017: Enterprise, Standard y Developer.Backup compression is supported on SQL Server 2017SQL Server 2017 editions: Enterprise, Standard, and Developer. Cada edición de SQL Server 2008SQL Server 2008 y posteriores pueden restaurar una copia de seguridad cifrada.Every edition of SQL Server 2008SQL Server 2008 and later can restore a compressed backup.

VentajasBenefits

  • Dado que el tamaño de una copia de seguridad comprimida es menor que el de una sin comprimir de los mismos datos, normalmente la compresión de una copia de seguridad requiere menos operaciones de E/S en los dispositivos y, por consiguiente, suele aumentar significativamente la velocidad de creación de la copia.Because a compressed backup is smaller than an uncompressed backup of the same data, compressing a backup typically requires less device I/O and therefore usually increases backup speed significantly.

    Para obtener más información, vea Impacto en el rendimiento de la compresión de las copias de seguridad, más adelante en este tema.For more information, see Performance Impact of Compressing Backups, later in this topic.

RestriccionesRestrictions

La compresión de las copias de seguridad está sujeta a las siguientes restricciones:The following restrictions apply to compressed backups:

  • Las copias de seguridad comprimidas y sin comprimir no pueden coexistir al mismo tiempo en un mismo conjunto de medios.Compressed and uncompressed backups cannot co-exist in a media set.

  • Las versiones anteriores de SQL ServerSQL Server no pueden leer copias de seguridad comprimidas.Previous versions of SQL ServerSQL Server cannot read compressed backups.

  • NTbackups no puede compartir una cinta con copias de seguridad comprimidas de SQL ServerSQL Server .NTbackups cannot share a tape with compressed SQL ServerSQL Server backups.

Impacto en el rendimiento de la compresión de las copias de seguridadPerformance Impact of Compressing Backups

De forma predeterminada, la compresión aumenta significativamente el uso de CPU y la CPU adicional que consume el proceso de compresión puede afectar adversamente a las operaciones simultáneas.By default, compression significantly increases CPU usage, and the additional CPU consumed by the compression process might adversely impact concurrent operations. Por consiguiente, podría ser conveniente crear copias de seguridad comprimidas de prioridad baja en una sesión en la que elregulador de recursoslimite el uso de CPU.Therefore, you might want to create low-priority compressed backups in a session whose CPU usage is limited byResource Governor. Para obtener más información, vea Usar el regulador de recursos para limitar el uso de CPU mediante compresión de copia de seguridad (Transact-SQL)limite el uso de CPU.For more information, see Use Resource Governor to Limit CPU Usage by Backup Compression (Transact-SQL).

Para hacerse una idea acertada del rendimiento de la E/S de su copia de seguridad, puede aislar la E/S de la copia de seguridad realizada hacia o desde los dispositivos evaluando los siguientes tipos de contadores de rendimiento:To obtain a good picture of your backup I/O performance, you can isolate the backup I/O to or from devices by evaluating the following sorts of performance counters:

  • Contadores de rendimiento de la E/S de Windows, tales como los contadores de disco físicoWindows I/O performance counters, such as the physical-disk counters

  • El contador Rendimiento del dispositivo en bytes/s del objeto SQLServer:Backup DeviceThe Device Throughput Bytes/sec counter of the SQLServer:Backup Device object

  • El contador Rendimiento de copia de seguridad o restauración/s del objeto SQLServer:DatabasesThe Backup/Restore Throughput/sec counter of the SQLServer:Databases object

Para obtener más información acerca de los contadores de Windows, vea la ayuda de Windows.For information about Windows counters, see Windows help. Para obtener información sobre el trabajo con contadores de SQL Server, vea Usar objetos de SQL Server.For information about how to work with SQL Server counters, see Use SQL Server Objects.

Calcular la razón de compresión de una copia de seguridad comprimidaCalculate the Compression Ratio of a Compressed Backup

Para calcular la razón de compresión de una copia de seguridad, use los valores de la copia de seguridad de las columnas backup_size y compressed_backup_size de la tabla de historial backupset , de la manera siguiente:To calculate the compression ratio of a backup, use the values for the backup in the backup_size and compressed_backup_size columns of the backupset history table, as follows:

backup_size:compressed_backup_sizebackup_size:compressed_backup_size

Por ejemplo, una razón de compresión de 3:1 indica que está ahorrando aproximadamente un 66% del espacio en disco.For example, a 3:1 compression ratio indicates that you are saving about 66% on disk space. Para consultar estas columnas, puede utilizar la siguiente instrucción de Transact-SQL:To query on these columns, you can use the following Transact-SQL statement:

SELECT backup_size/compressed_backup_size FROM msdb..backupset;  

La razón de compresión de una copia de seguridad comprimida depende de los datos que se hayan comprimido.The compression ratio of a compressed backup depends on the data that has been compressed. La razón de compresión obtenida puede verse influenciada por diversos factores.A variety of factors can impact the compression ratio obtained. Entre los factores más importantes tenemos:Major factors include:

  • El tipo de datos.The type of data.

    El texto se comprime más que otros tipos de datos.Character data compresses more than other types of data.

  • La coherencia de los datos entre las filas de una página.The consistency of the data among rows on a page.

    Normalmente, si una página contiene varias filas en las que un campo contiene el mismo valor, se podría producir una compresión significativa para ese valor.Typically, if a page contains several rows in which a field contains the same value, significant compression might occur for that value. En contraste, para una base de datos que contiene datos aleatorios o que contiene solo una fila de gran tamaño por página, la copia de seguridad comprimida sería casi tan grande como la copia de seguridad sin comprimir.In contrast, for a database that contains random data or that contains only one large row per page, a compressed backup would be almost as large as an uncompressed backup.

  • Si los datos están o no cifrados.Whether the data is encrypted.

    Los datos cifrados se comprimen mucho menos que los datos no cifrados equivalentes.Encrypted data compresses significantly less than equivalent unencrypted data. Si se usa el cifrado transparente de los datos para cifrar una base de datos completa, al comprimir las copias de seguridad, podría no reducirse mucho su tamaño, o nada en absoluto.If transparent data encryption is used to encrypt an entire database, compressing backups might not reduce their size by much, if at all.

  • Si la base de datos está comprimida.Whether the database is compressed.

    Si la base de datos está comprimida, puede que la compresión de las copias de seguridad no reduzca demasiado su tamaño, si es que logra alguna reducción.If the database is compressed, compressing backups might not reduce their size by much, if at all.

Asignación de espacio para el archivo de copia de seguridad.Allocation of Space for the Backup File

Para las copias de seguridad comprimidas, el tamaño del archivo de copia de seguridad final depende de en qué grado puedan comprimirse los datos y esto no se conoce antes de que la operación de copia de seguridad finalice.For compressed backups, the size of the final backup file depends on how compressible the data is, and this is unknown before the backup operation finishes. Por lo tanto, de forma predeterminada al hacer una copia de seguridad de una base de datos usando la compresión, el Motor de base de datos usa un algoritmo de preasignación para el archivo de copia de seguridad.Therefore, by default, when backing up a database using compression, the Database Engine uses a pre-allocation algorithm for the backup file. Este algoritmo preasigna una porcentaje predefinido del tamaño de la base de datos para el archivo de copia de seguridad.This algorithm pre-allocates a predefined percentage of the size of the database for the backup file. Si se necesita más espacio durante la operación de copia de seguridad, el Motor de base de datos hace crecer el archivo.If more space is needed during the backup operation, the Database Engine grows the file. Si el tamaño final es menor que el espacio asignado, al final de la operación de copia de seguridad, el Motor de base de datos reduce el archivo hasta el tamaño final real de la copia de seguridad.If the final size is less than the allocated space, at the end of the backup operation, the Database Engine shrinks the file to the actual final size of the backup.

Para que el archivo de copia de seguridad crezca solo lo necesario para alcanzar su tamaño final, use la marca de seguimiento 3042.To allow the backup file to grow only as needed to reach its final size, use trace flag 3042. La marca de seguimiento 3042 hace que la operación de copia de seguridad omita el algoritmo de preasignación de compresión de copia de seguridad predeterminada.Trace flag 3042 causes the backup operation to bypass the default backup compression pre-allocation algorithm. Esta marca de seguimiento es útil si tiene que ahorrar espacio asignando solo el tamaño real requerido para la copia de seguridad comprimida.This trace flag is useful if you need to save on space by allocating only the actual size required for the compressed backup. No obstante, el uso de esta marca de seguimiento podría ocasionar una ligera reducción en el rendimiento (un posible aumento de la duración de la operación de copia de seguridad).However, using this trace flag might cause a slight performance penalty (a possible increase in the duration of the backup operation).

Tareas relacionadasRelated Tasks

Consulte tambiénSee Also

Información general de copia de seguridad (SQL Server) Backup Overview (SQL Server)
Marcas de seguimiento (Transact-SQL)Trace Flags (Transact-SQL)