Поделиться через


Сжатие резервных копий (SQL Server)

В этом разделе описывается сжатие резервных копий SQL Server, включая ограничения, компромисс производительности сжатия резервных копий, конфигурацию сжатия резервных копий и коэффициент сжатия.

Замечание

Сведения о том, какие выпуски SQL Server 2014 поддерживают сжатие резервных копий, см. в разделах "Функции, поддерживаемые выпусками SQL Server 2014". Каждый выпуск SQL Server 2008 и более поздних версий может восстановить сжатые резервные копии.

Преимущества

  • Так как сжатое резервное копирование меньше, чем несжатая резервная копия одних и того же данных, сжатие резервной копии обычно требует меньше операций ввода-вывода устройства и, следовательно, значительно увеличивает скорость резервного копирования.

    Дополнительные сведения см. в разделе " Влияние сжатия резервных копий" далее в этом разделе.

Ограничения

Следующие ограничения применяются к сжатым резервным копиям:

  • Сжатые и несжатые резервные копии не могут существовать в наборе носителей.

  • Предыдущие версии SQL Server не могут считывать сжатые резервные копии.

  • NTbackups не могут совместно использовать ленту с сжатыми резервными копиями SQL Server.

Влияние на производительность сжатия резервных копий

По умолчанию сжатие существенно повышает загрузку ЦП. Дополнительная нагрузка на ЦП может помешать выполнению других операций. Поэтому вы можете создать сжатые резервные копии с низким приоритетом в сеансе, использование ЦП которого ограниченорегулятором ресурсов. Дополнительные сведения см. в разделе Использование регулятора ресурсов для ограничения загрузки ЦП при сжатии резервной копии (Transact-SQL).

Чтобы получить хорошую картину производительности операций ввода-вывода резервного копирования, можно изолировать операции ввода-вывода на или с устройств, оценивая следующие счетчики производительности:

  • Счетчики производительности операций ввода-вывода Windows, такие как счетчики физического диска

  • Счетчик пропускной способности устройства байт/с объекта SQLServer:Backup Device

  • Счетчик пропускной способности резервного копирования и восстановления в секунду объекта SQLServer:Database

Сведения о счетчиках Windows см. в справке по Windows. Сведения о работе с счетчиками SQL Server см. в разделе "Использование объектов SQL Server".

Вычисление коэффициента сжатия сжатой резервной копии

Чтобы вычислить коэффициент сжатия резервной копии, используйте значения для резервного копирования в backup_size и compressed_backup_size столбцах таблицы журнала набора резервных копий , как показано ниже.

backup_size:compressed_backup_size

Например, коэффициент сжатия 3:1 указывает, что вы сохраняете около 66% на диске. Для запроса к этим столбцам можно использовать следующую инструкцию Transact-SQL:

SELECT backup_size/compressed_backup_size FROM msdb..backupset;  

Коэффициент сжатия сжатой резервной копии зависит от данных, которые были сжаты. Различные факторы могут повлиять на коэффициент сжатия, полученный. К основным факторам относятся:

  • Тип данных.

    Символьные данные сжимаются больше, чем другие типы данных.

  • Согласованность данных между строками на странице.

    Как правило, если страница содержит несколько строк, в которых поле содержит одно и то же значение, может произойти значительное сжатие для этого значения. В отличие от этого, для базы данных, содержащей случайные данные или содержащую только одну большую строку на страницу, сжатое резервное копирование будет почти столь же большим, как несжатая резервная копия.

  • Шифруются ли данные.

    Зашифрованные данные сжимаются значительно меньше эквивалентных незашифрованных данных. Если прозрачное шифрование данных используется для шифрования всей базы данных, сжатие резервных копий может лишь незначительно уменьшить их размер, если уменьшит его вообще.

  • Сжимается ли база данных.

    Если база данных сжимается, сжатие резервных копий может не уменьшить их размер на многое, если вообще.

Выделение места для файла резервной копии

Для сжатых резервных копий размер окончательного файла резервного копирования зависит от того, как сжимаются данные, и это неизвестно до завершения операции резервного копирования. Поэтому по умолчанию при резервном копировании базы данных с помощью сжатия ядро СУБД использует алгоритм предварительного выделения для файла резервного копирования. Этот алгоритм предварительно выделяет предопределенный процент размера базы данных для файла резервной копии. Если во время операции резервного копирования требуется больше места, ядро СУБД увеличивает файл. Если окончательный размер меньше выделенного пространства, в конце операции резервного копирования ядро СУБД сжимает файл до фактического окончательного размера резервной копии.

Чтобы разрешить файлу резервной копии увеличиваться только по мере необходимости, чтобы достичь его окончательного размера, используйте флаг трассировки 3042. Флаг трассировки 3042 заставляет операцию резервного копирования обходить алгоритм предварительного выделения резервных копий по умолчанию. Этот флаг трассировки полезен для экономии пространства, так как выделяется только фактическое пространство, необходимое для резервной копии со сжатием. Однако использование этого флага трассировки может привести к незначительному снижению производительности (возможное увеличение длительности операции резервного копирования).

Связанные задачи

См. также

Общие сведения о резервном копировании (SQL Server)
Флаги трассировки (Transact-SQL)