Если вы используете SQL Server 2008 Enterprise/Datacenter Edition или SQL Server 2008 R2 Standard или выше, у вас есть возможность значительно улучшить процесс резервного копирования, включив сжатие. Удивительно, но многие установки этих версий не используют эту функцию. В этой статье мы рассмотрим преимущества сжатия резервного копирования SQL Server и покажем, как его включить с помощью встроенных функций резервного копирования.
Резервное копирование через командную строку
Давайте начнем с того, как выполнять резервное копирование с и без сжатия с помощью скриптов T-SQL. Предположим, у нас есть тестовая база данных с названием TPCH. Вот скрипты:
-- Резервное копирование без сжатия BACKUP DATABASE [TPCH] TO DISK = 'c:\SQLBackup\TPCH_uncompressed.bak' -- Резервное копирование с сжатием BACKUP DATABASE [TPCH] TO DISK = 'c:\SQLBackup\TPCH_compressed.bak' WITH COMPRESSION
Чтобы сравнить результаты, мы можем запросить таблицу msdb.dbo.backupset, которая предоставляет информацию о размерах резервных копий:
SELECT database_name, backup_size, compressed_backup_size, (backup_size - compressed_backup_size) / backup_size * 100 AS SavingsInPercent FROM msdb.dbo.backupset
Вывод покажет размер резервной копии без сжатия и сжатый размер резервной копии. Вы заметите значительное уменьшение размера при включенном сжатии. Рассчитанный процент экономии может составлять от 80 до 85% или даже больше, в зависимости от содержимого базы данных.
Графический интерфейс пользователя (GUI)
Если вы предпочитаете использовать графический интерфейс для выполнения резервного копирования, вы также можете легко включить сжатие. При выполнении ручного резервного копирования перейдите на панель “Опции” и найдите опцию сжатия внизу. По умолчанию установка “Не сжимать резервную копию”. Однако вы можете выбрать “Сжать резервную копию”, чтобы достичь того же результата, что и при использовании опции “WITH COMPRESSION” в скрипте T-SQL.
Но что, если вы хотите изменить настройку сервера по умолчанию? Просто щелкните правой кнопкой мыши на SQL Server, перейдите к свойствам и откройте вкладку “Настройки базы данных”. Здесь вы найдете флажок “Сжимать резервную копию”. Отметив эту опцию, все резервные копии будут автоматически сжиматься, если вы явно не выберете отключение сжатия. Это предоставляет удобный способ включить сжатие для всех резервных копий.
IBM Tivoli Data Protection для SQL Server
Если вы используете IBM Tivoli Data Protection (TDP) для резервного копирования баз данных SQL Server, настройка сервера по умолчанию для сжатия, к сожалению, игнорируется. Однако, если у вас установлена версия TDP 5.5.4 или новее, вы все равно можете включить сжатие. Найдите файл TDPSql.cfg в корневом каталоге TDP для SQL Server (обычно c:\progra~1\Tivoli\TSM\TDPSql\) и добавьте следующую строку в конец:
SQLCOMPression YES
После добавления этой строки перезапустите службу планировщика, и вы готовы к работе. Вы можете использовать тот же скрипт, упомянутый ранее, чтобы проверить экономию, достигнутую с помощью сжатия.
Преимущества сжатия резервного копирования
Включение сжатия резервного копирования предлагает несколько преимуществ. Хотя это нагружает процессор SQL Server из-за процесса сжатия, оно значительно сокращает объем данных, который необходимо передавать по сети. В среднем можно ожидать сокращения объема данных на 15-50%. Это сокращение позволяет хранить больше резервных копий на вашей системе хранения, максимизируя доступное пространство.
В дополнение к сокращению нагрузки на сеть, сжатие резервного копирования также улучшает скорость резервного копирования и восстановления. Поскольку при резервном копировании требуется передавать и записывать меньше данных на место назначения, процесс становится быстрее. Аналогично, при восстановлении требуется считывать и передавать меньше данных из источника резервной копии, что приводит к более быстрым временам восстановления.
Включение сжатия резервного копирования позволяет достичь значительного повышения эффективности процесса резервного копирования SQL Server. С уменьшенной нагрузкой на сеть, увеличенной емкостью хранения и более быстрыми скоростями резервного копирования и восстановления, это функция, которую нельзя пренебрегать.