logo
Блог Vinchin Бэкап базы данных Познакомьте с типами резервного копирования SQL Server: Что это такое и как выбрать?

Познакомьте с типами резервного копирования SQL Server: Что это такое и как выбрать?

2022-10-21 | Yulia Qin

bc2d817ced9f5b7ab56c2a9456d1956.jpg

Тема типов резервного копирования SQL Server настолько обширна, что о ней написаны книги. Но в этом блоге мы сосредоточимся на распространенных опциях резервного копирования, узнаем, что это такое, как их выбирать, и обсудим факторы, влияющие на наши решения. Эти знания позволят нам выбрать подход к резервному копированию и восстановлению базы данных.

Типы резервного копирования SQL:

Полное резервное копирование:

Содерживает все данные в базе данных, набор файловых групп или файлов, а также достаточное количество журналов для восстановления данных. Полное резервное копирование является основой любого типа резервного копирования.

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

Прежде чем начать, вы должны знать:

- Объекты резервного копирования должны быть в режиме онлайн (за исключением резервное копирование заключительного фрагмента журнала, которое может создавать резервное копирование базы данных в режиме офлайн).

- Невозможно восстановить резервные копирования из более новых версий SQL Server в более старых версиях SQL Server.

- Ни одна транзакция, явная или неявная, не может содержать стейтмент BACKUP.

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

- Войти с ролями sysadmin, db owner и db backupoperator с правами BACKUP DATABASE и BACKUP LOG.

- Эти предварительные условия применимы ко всем типам резервного копирования SQL Server.

Полное резервное копирование в SQL Server можно создать с помощью SQL Server Management Studio, Transact-SQL или PowerShell. Здесь я выберу один из способов для демонстрации.

Использование T-SQL для создания полного резервного копирования:

BACKUP DATABASE databasename

To DISK='filepath.bak'

WITH options

Как правило, опции WITH включают COMPRESSION | NO_COMPRESSION, NAME, FORMAT, DESCRIPTION и т.д.

Вы можете обратиться к Автоматическому Резервному копированию SQL Server для получения более подробной информации о резервном копировании или к первому методу Backup SQL Server into a .Bak File с использованием SSMS.

Дифференциальное резервное копирование:

Содержит только данные, измененные с момента последнего полного резервного копирования, что намного быстрее, чем полное резервное копирование.

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

Поскольку размер дифференциальной резервного копирования со временем увеличивается, рекомендуется создавать новое полное резервное копирование в качестве дифференциальной базы в предусмотренном интервале.

Для создания дифференциального резервного копирования можно использовать SQL Server Management Studio или Transact-SQL, а для получения дополнительной информации перейдите к разделу Создать дифференциальное резервное копирование SQL Server тремя способами.

Использование T-SQL для создания дифференциального резервного копирования:

-- Сначала создайте полное резервное копирование базы данных. 

BACKUP DATABASE databasename  

   TO filepath.bak  

   WITH INIT; 

GO 

BACKUP DATABASE databasename 

   TO filepath.bak 

   WITH DIFFERENTIAL; 

GO 

Резервное копирование журнала транзакций:

Собирает все записи журнала транзакций из последнего полного резервного копирования или резервного копирования журнала транзакций для восстановления SQL Server к определенному моменту времени. Оно используется с моделями полного восстановления или восстановления с неполным протоколированием.

Поврежденный журнал транзакций теряет записи с момента последнего действительного резервного копирования, поэтому мы рекомендуем поместить файлы журнала на отказоустойчивое хранилище и часто создавать резервные копирования журнала в соответствии с бизнес-требованиями RTO и RPO.

Использование T-SQL для создания резервного копирования журнала транзакций:

BACKUP LOG databasename

   To DISK='filepath'

   WITH options

GO

Резервное копирование заключительного фрагмента журнала:

Собирает все записи журнала, которые еще не были резервированы (заключительный фрагмент журнала), чтобы избежать потери работы и сохранить целостность цепочки журнала.

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

Использование T-SQL для создания резервное копирование заключительного фрагмента журнала:

USE master;

GO

-- создать резервное копирование заключительного фрагмента журнала

BACKUP LOG databasename]

TO DISK = 'filepath'

С ПАРАМЕТРОМ CONTINUE_AFTER_ERROR;

GO

CONTINUE_AFTER_ERROR: используется только при резервном копировании поврежденной базы данных.

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

Резервное копирование только для копии:

Резервное копирование со специальным назначением, которое не зависит от порядка резервного копирования SQL Server и не влияет на процедуры резервного копирования и восстановления базы данных.

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

Использование SQL Server Management Studio для создания резервного копирования только для копии:

1.     Подключитесь к экземпляру SQL Server в Object Explorer.

2.    Разверните Базы данных, щелкните правой кнопкой мыши базу данных для резервного копирования> Задачи > Резервное Копирование..

3.     На странице Общие в разделе Источник отметьте Резервное копирование только для копии.

4.     Нажмите OK.

Резервное копирование файлов:

Резервное копирование всех данных в одном или нескольких файлах или файловых группах и записей журнала для переноса файлов на конец операции резервного копирования. Оно может служить основой для дифференциального резервного копирования файлов.

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

Можно создать файловое резервное копирование в SQL Server с использованием SQL Server Management Studio, Transact-SQL или PowerShell. Обратите внимание, что этот способ не поддерживается Визард Плана Обслуживания.

Использование PowerShell для создания резервного копирования файла/группы файлов:

Используйте Backup-SqlDatabase и настройте Files для параметра BackupAction.

Backup-SqlDatabase -ServerInstance ComputerInstance -Database <Databasename> -BackupAction Files -DatabaseFile "Filename"

Backup-SqlDatabase -ServerInstance ComputerInstance -Database <Databasename> -BackupAction Files -DatabaseFileGroup "Group1", "Group2"

Используйте -DatabaseFileString (Строка имеет в виду одного или нескольких файлов) для резервного копирования определенного файла.

Используйте параметр -DatabaseFileGroupString (Строка имеет в виду одной или нескольких файловых групп) для резервного копирования всех файлов в файловой группе.

Частичное резервное копирование:

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

Частичное резервное копирование широко используется в модели простого восстановления для повышения гибкости резервного копирования файловых групп баз данных только для чтения больших баз данных.

Использование T-SQL для создания частичного резервного копирования:

BACKUP DATABASE Databasename READ_WRITE_FILEGROUPS

TO DISK = filepath.bak'

GO

Сравнение

- База Резервного Копирования

Полное резервное копирование:Вся база данных

Дифференциальное резервное копирование :Последнее полное резервное копирование

Резервное копирование журнала транзакций :Последнее полное резервное копирование или резервное копирование журнала транзакций 

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

Резервное копирование только для копии:Полное резервное копирование

Резервное копирование файлов:Полное резервное копирование

Частичное резервное копирование:Полное резервное копирование

- База Резервного Копирования

Полное резервное копирование:Все данные базы данных 

Дифференциальное резервное копирование :Только данные, измененные с момента последнего полного резервного копирования. 

Резервное копирование журнала транзакций :Только журналы с момента последнего резервного копирования 

Резервное копирование заключительного фрагмента журнала:Журналы не были резервированы

Резервное копирование только для копии:Резервное копирование журнала только для копии сохраняет существующую точку архива журнала.

Резервное копирование файлов:Исключительный или несколько файлов или файловых групп и записей журнала  

Частичное резервное копирование:База данных записи и чтения: основная файловая группа, файловая группа записи и чтения и один или несколько файлов только для чтения; файловые группы только для чтения: основная файловая группа  

- Проект Использования

Полное резервное копирование:Основа для всех типов резервного копирования

Дифференциальное резервное копирование :Дополнение к полному резервному копированию 

Резервное копирование журнала транзакций :Сбор данных для восстановления на момент времени базы данных в рамках моделей полного восстановления или восстановления с неполным протоколированием

Резервное копирование заключительного фрагмента журнала:Восстановление до точки непосредственно перед восстановлением

Резервное копирование только для копии:Специальное использование без влияния на процедуры резервного копирования и восстановления базы данных

Резервное копирование файлов:Резервное копирование и восстановление файлов по отдельности 

Частичное резервное копирование:Улучшение гибкости резервного копирования файловых групп только для чтения в больших базах данных в рамках модели простого восстановления

- Восстановить

Полное резервное копирование:Последнее полное резервное копирование 

Дифференциальное резервное копирование :Последнее полное резервное копирование и последнее дифференциальное резервное копирование 

Резервное копирование журнала транзакций :Последнее полное резервное копирование, последнее дифференциальное резервное копирование и все резервные копирования журнала транзакций 

Резервное копирование заключительного фрагмента журнала:Последнее полное резервное копирование и все резервные копирования журнала транзакций

Резервное копирование только для копии:Последнее полное резервное копирование

Резервное копирование файлов:Файл или файловые группы

Частичное резервное копирование:Один или несколько поврежденных файлов только чтения/чтения-записи

-Рекомендуемая Частота

Полное резервное копирование:Один раз в неделю 

Дифференциальное резервное копирование :Один раз в день 

Резервное копирование журнала транзакций :Часто (в зависимости от потребностей)

Резервное копирование заключительного фрагмента журнала:Перед восстановлением, за исключением исключительных случаев

Резервное копирование только для копии:Специальное использование

Резервное копирование файлов:Когда вам нужно копировать и восстановить определенный файл или файлы

Частичное резервное копирование:Резервное копирование файловых групп только для чтения в больших базах данных в рамках модели простого восстановления

При резервном копировании SQL Server используются различные инструменты резервного копирования и командные строки, что несколько усложняет процесс резервного копирования базы данных. Упростить резервное копирование и восстановление SQL Server можно с помощью программы Vinchin Backup & Recovery, в которой пользователи могут автоматизировать процесс резервного копирования базы данных с помощью разных опций резервного копирования и интеллектуальных стратегий, и восстанавливать любые точки резервного копирования за 4 простых шага.

Централизованное управление несколькими резервными копированиями баз данных: Централизованное управление резервными копированиями MySQL, SQL Server, Oracle и PostgreSQL в одной веб-консоли для снижения нагрузки и затрат на управление.

Доступно несколько опций резервного копирования: Выберите один из вариантов полного резервного копирования, дифференциального резервного копирования, инкрементного резервного копирования и резервного копирования журнала транзакций (зависит от базы данных).

Автоматическое резервное копирование: Настройте расписание резервного копирования для автоматического запуска резервного копирования.

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

Вы можете получить бесплатную пробную версию на 60 дней ниже:

Обобщение

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

А если вы ищете простой инструмент для резервного копирования SQL Server, вы можете попробовать 60-дневную бесплатную пробную версию Vinchin Backup & Recovery прямо сейчас, чтобы оптимизировать резервное копирование баз данных.


поделиться:

Категории:Database Backup