Skip to content

Примеры резервного копирования базы данных SQL Server

Пересказ статьи Joe Gavin. SQL Server Database Backup Examples


Если вы новичок в SQL Server и хотите узнать, как создать бэкап базы данных SQL Server, а также о том, какие различные типы резервных копий существуют, то эта статья для вас. Здесь обсуждается создание резервных копий с помощью GUI и скриптов T-SQL.
Среди различных функций, которые выполняет администратор баз данных SQL Server, создание резервных копий пользовательских баз данных является наиболее важной. Без резервных копий невозможно восстановление. Важно понимать разницу между типами резервных копий.

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

Типы резервных копий SQL Server



  • Полный бэкап базы данных SQL Server

    • Как говорит название, это полный бэкап всей базы данных

    • Модель восстановления базы данных может быть полной, с неполным протоколированием, или простая

    • Основа для восстановления дифференциальных бэкапов и бэкапов журнала транзакций

    • Используется для восстановления базы данных на момент завершения резервного копирования


  • Дифференциальный бэкап базы данных SQL Server

    • Резервная копия данных, которые изменились, начиная с последнего успешного бэкапа

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

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

    • Может сделать более быстрое восстановление бэкапов журнала транзакций


  • Резервная копия журнала транзакций базы данных SQL Server

    • Резервное копирование журнала транзакций (последовательная запись изменений базы данных) от последнего успешного полного бэкапа или бэкапа журнала транзакций (инкрементального бэкапа)

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

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



Полная резервная копия базы данных SQL Server SQL Server Management Studio (SSMS)


Откройте браузер объектов в SSMS.

1. Разверните дерево SQL Server
2. Разверните Databases
3. Выполните щелчок правой кнопкой на базе данных, для которой требуется создать резервную копию
4. Выберите Tasks
5. Back Up…



1. Выберите 'Full' в выпадающем списке 'Backup type'
2. Выберите 'Disk' в выпадающем списке 'Backup to'
3. Add...



1. Оставьте каталог размещения по умолчанию, или измените его по желанию
2. Кнопка …



1. Дайте имя файлу (расширение .bak указывает, что это полная резервная копия)
2. Щелкните ОК



1. Щелкните ОК



1. Выберите страницу 'Media Options'
2. Установите опцию 'Overwrite all existing backup sets' (переписать все существующие наборы резервных копий)
3. Поставьте флажок 'Perform checksum before writing to media' (выполнить расчет контрольной суммы перед записью на носитель)
4. Выберите страницу 'Backup Options'



1. Дайте имя бэкапу
2. Выберите 'Compress backup' (сжатый бэкап) из выпадающего списка 'Set backup compression'



1. Щелкните ОК



Полная резервная копия - непосредственно выполняемый код SQL


Мы можем осуществить то же самое, просто выполнив следующий код SQL.

BACKUP DATABASE [MyDatabase] -- имя базы данных
TO DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup\MyDatabase_FullBackup.bak' -- имя файла бэкапа
WITH INIT -- перезаписать файл бэкапа
, NAME = N'MyDatabase-Full Database Backup' -- имя бэкапа
, COMPRESSION -- сжатый бэкап вне зависимости от параметров по умолчанию сервера
, STATS = 10 -- показать прогресс резервирования
, CHECKSUM -- подсчет контрольной суммы перед записью на диск
GO



Дифференциальная резервная копия - SSMS


Создание дифференциального бэкапа подобно созданию полной резервной копии.

1. Вместо значения по умолчанию Full, выберите 'Differential' в выпадающем списке 'Backup type'
2. Add...



Остальные шаги фактически те же самые.

1. Оставьте местоположение каталога по умолчанию или измените его
2. ...



1. Дайте имя файлу (расширение .dif указывает на дифференциальный бэкап)
2. Щелкните ОК



1. Выберите страницу 'Media Options'
2. Выберите опцию 'Overwrite all existing backup sets' (переписать все существующие резервные наборы)
3. Установите флажок 'Perform checksum before writing to media' (выполнить расчет контрольной суммы до записи на носитель)
4. Выберите страницу 'Backup Options'



1. Дайте имя бэкапу
2. Выберите 'Compress backup' (сжатый бэкап) в выпадающем списке 'Set backup compression'
3. Щелкните ОК



1. Щелкните ОК



Дифференциальная резервная копия - непосредственное выполнение кода SQL


Как вы можете заметить здесь, SQL почти тот же, что и для полной резервной копии, за исключением имен и дополнительной опции 'DIFFERENTIAL'.

BACKUP DATABASE [MyDatabase] -- имя базы данных
TO DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup\MyDatabase_DifferentialBackup_1.dif' -- имя файла бэкапа
WITH DIFFERENTIAL -- сообщаем, что требуется дифференциальный бэкап
, INIT -- перезаписать файл бэкапа
, NAME = N'MyDatabase DifferentialBackup_1.dif' -- имя бэкапа
, COMPRESSION -- сжатый бэкап
, STATS = 10 -- отобразить прогресс
, CHECKSUM -- выполнить расчет контрольной суммы перед записью на диск
GO



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


Создание бэкапа журнала транзакций подобно созданию полной или дифференциальной резервной копии.

1. Вместо значения по умолчанию Full, теперь выберите 'Transaction Log' в выпадающем списке 'Backup type'
2. Add...



1. Оставьте местоположение каталога по умолчанию или измените его
2. Кнопка ...



1. Дайте имя файлу (расширение .trn указывает на бэкап журнала транзакций)
2. Щелкните ОК



1. Выберите страницу 'Media Options'
2. Выберите опцию 'Overwrite all existing backup sets' (перезаписать все существующие резервные наборы)
3. Установите флажок 'Perform checksum before writing to media' (выполнить расчет контрольной суммы до записи на носитель)
4. Выберите страницу 'Backup Options'



1. Дайте имя бэкапу
2. Выберите 'Compress backup' (сжатый бэкап) в выпадающем списке 'Set backup compression'
3. Щелкните ОК



1. Щелкните ОК



Резервная копия журнала транзакций - непосредственное выполнение кода SQL


Помимо имен, разница состоит в том, что резервная копия журнала транзакций выполняется с 'BACKUP LOG', а не 'BACKUP DATABASE'.

BACKUP LOG [MyDatabase] -- имя базы данных
TO DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup\MyDatabase_TransactionLogBackup_1.trn' -- имя файла бэкапа
WITH INIT -- перезаписать файл бэкапа
, NAME = N'MyDatabase-Transaction Log Backup 1' -- имя бэкапа
, COMPRESSION -- сжатый бэкап
, STATS = 10 -- отобразить прогресс
, CHECKSUM -- выполнить расчет контрольной суммы перед записью на диск
GO

Категории: T-SQL

Обратные ссылки

Нет обратных ссылок

Комментарии

Показывать комментарии Как список | Древовидной структурой

Нет комментариев.

Автор не разрешил комментировать эту запись

Добавить комментарий

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options

Добавленные комментарии должны будут пройти модерацию прежде, чем будут показаны.