gifts2017

Резервное копирование SQL-базы 1С в два клика

Опубликовал Ivan - (skilster) в раздел Администрирование - Архивирование (backup)

Простой и надежный способ бэкапа без углубления в тонкости настройки SQL Server Management Studio

Чтобы получить полную копию базы с возможностью беспроблемного подключения на любом другом сервере, совсем не обязательно углубляться в настройки. Для запуска бэкапа достаточно выполнить элементарный sql-скрипт:

DECLARE @pathName NVARCHAR(512) 

SET @pathName = 'D:\BACKUPS\NAME-OF-THE-BASE_' + Convert(varchar(8), GETDATE(), 112) + '.bak' 

BACKUP DATABASE [NAME-OF-THE-BASE] TO DISK = @pathName WITH NOFORMAT, NOINIT, NAME = N'db_backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10

 

Где D:\BACKUPS\  это папка для сохранения резервных копий, а NAME-OF-THE-BASE  имя целевой базы данных. Далее необходимо поместить bat-ник для запуска скрипта в Планировщик задач Windows — и все. Каждый день в обозначенное время будет создаваться полный бэкап нужной базы. Разумеется, сама папка для бэкапов должна находиться не на самом сервере, а на внешнем диске, файловом хранилище или другом компьютере сети.


sqlcmd -S SERVERNAME -U sa -P YOUR-PASSWORD -i "c:\backups.sql"


В данном случае SERVERNAME  это имя сервера (например, SERVER\SQLEXPRESS), YOUR-PASSWORD  пароль учетной записи sa, а c:\backups.sql — путь к скрипту, созданному на первом шаге. При наличии WinRAR, полученные файлы можно упаковывать для экономии места:


"c:\Program Files\WinRAR\Rar.exe" a -m2 D:\BACKUPS\1C_backup_%date%.rar D:\BACKUPS\NAME-OF-THE-BASE_*.bak

del D:\BACKUPS\NAME-OF-THE-BASE_*.bak

Скачать файлы

Наименование Файл Версия Размер
Скрипт для запуска резервного копирования 69
.sql 0,26Kb
26.09.12
69
.sql 0,26Kb Скачать
bat-ник для планировщика задач Windows 48
.bat 0,21Kb
26.09.12
48
.bat 0,21Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. qwe qwerty (quebracho) 03.10.12 21:20
Простой и надежный способ бэкапа без углубления в тонкости настройки SQL Server Management Studio.
ИМХО, лучше углубиться, там много полезного.
2. ptr (ptr) 03.10.12 21:54
Во-первых, настоятельно рекомендую явно указывать параметр COMPRESSION или NO_COMPRESSION. Если резервные копии в последствии будут сжиматься архиватором, то лучше встроенную компрессию SQL отключить. Экономия места составит около 30%. Если же резервные копии архивировать не планируется, то встроенная компрессия на нормальном железе существенно сокращает время резервного копирования по сети, даже на гигабитке. То есть, скорость встроенной компресси на SQL существенно быстрее скрости локальной сети.
Во-вторых, использовать Планировщик для этой цели неудобно. Слабоваты его возможности, да и журнал нормально вести не умеет. Я рекомендовал бы все же использовать SQL Server Agent. Он ведь именно для этого предназначен. А задача может быть существенно сложнее, чем просто резервное копирование.

Для примера, я настоятельно рекомендую иметь клиентам базу минус день. То есть ночью автоматически переписывать конфигурацию и БД на некую тестовую базу. Когда пользователь не уверен, как что-то правильно проводить или обрабатывать - он без страха может сам поэкспериментировать на такой БД.
jan27; acanta; PAPIruss; bio.ejiki; sovital; Nykyanen; skilster; +7 Ответить 1
3. Ivan - (skilster) 04.10.12 08:06
(2), спасибо за толковый комментарий! Возможности SQL Server Agent, действительно, позволяют очень тонко настроить бэкапы. Но практика показывает, что неопытные администраторы часто ошибаются при выборе способа копирования — и полученные bak-и становятся бесполезными в случае полного краха сервера.
4. Андрей Ярошенко (Garstag) 27.02.13 11:08
А как будет выглядеть SQL-скрипт для автоматического разворачивания этого бэкапа в базу-копию?
5. Елена Ситникова (lesenoklenok) 06.03.14 11:28
Спасибо за bat-ник. Это упростило жизнь.
6. Андрей Краснокутский (Andry.Boris) 11.05.14 13:25
Спасибо, взял на заметку.
7. Артем Герасимов (PAPIruss) 18.02.15 14:45
Было бы интересно узнать. Есть ли скрипт для восстановления наиболее свежего бекапа?
8. Марина Чирина (chmv) 29.06.16 11:36
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа