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

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

ПримечаниеПримечание

Сведения о том, какие выпуски SQL Server 2012 поддерживают сжатие резервных копий, см. в разделе Возможности, поддерживаемые различными выпусками SQL Server 2012. Сжатую резервную копию можно восстановить в любом выпуске SQL Server 2008 и более поздней версии.

В этом разделе.

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

  • Ограничения

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

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

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

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

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

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

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

[В начало]

Ограничения

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

  • В наборе носителей не допускается одновременное существование сжатых и несжатых резервных копий.

  • В предыдущих версиях SQL Server считывание сжатых резервных копий не поддерживается.

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

[В начало]

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

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

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

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

[В начало]

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

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

backup_size:compressed_backup_size

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

SELECT backup_size/compressed_backup_size FROM msdb..backupset;

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

  • Тип данных.

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

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

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

  • Шифрование данных.

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

  • Сжатие базы данных.

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

[В начало]

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

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

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

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

См. также

Справочник

Флаги трассировки (Transact-SQL)

Основные понятия

Общие сведения о резервном копировании (SQL Server)