Примеры резервного копирования базы данных SQL Server
Пересказ статьи Joe Gavin. SQL Server Database Backup Examples
Если вы новичок в SQL Server и хотите узнать, как создать бэкап базы данных SQL Server, а также о том, какие различные типы резервных копий существуют, то эта статья для вас. Здесь обсуждается создание резервных копий с помощью GUI и скриптов T-SQL.
Среди различных функций, которые выполняет администратор баз данных SQL Server, создание резервных копий пользовательских баз данных является наиболее важной. Без резервных копий невозможно восстановление. Важно понимать разницу между типами резервных копий.
Мы сделаем обзор трех основных типов резервных копий (полная, дифференциальная и журнала транзакций), что они из себя представляют, когда и как их использовать.
Откройте браузер объектов в 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.
Создание дифференциального бэкапа подобно созданию полной резервной копии.
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 почти тот же, что и для полной резервной копии, за исключением имен и дополнительной опции 'DIFFERENTIAL'.
Создание бэкапа журнала транзакций подобно созданию полной или дифференциальной резервной копии.
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. Щелкните ОК
Помимо имен, разница состоит в том, что резервная копия журнала транзакций выполняется с 'BACKUP LOG', а не 'BACKUP DATABASE'.
Мы сделаем обзор трех основных типов резервных копий (полная, дифференциальная и журнала транзакций), что они из себя представляют, когда и как их использовать.
Типы резервных копий 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
Обратные ссылки
Автор не разрешил комментировать эту запись
Комментарии
Показывать комментарии Как список | Древовидной структурой