Резервное копирование 1С на SQL Server по расписанию

Потеря данных учётной системы останавливает работу компании. База 1С на SQL Server требует регулярных резервных копий — желательно автоматических, без участия администратора. Разбираем три способа настройки резервного копирования: через Effector Saver, встроенные механизмы SQL Server и планы обслуживания.
Статья для системных администраторов, которые обслуживают инфраструктуру 1С на базе Microsoft SQL Server. Все примеры проверены на SQL Server 2017-2022 и 1С 8.3.
Подготовка: что нужно для резервного копирования
Перед настройкой автоматического копирования проверьте базовые условия. SQL Server должен работать под учётной записью с правами на запись в папку назначения бэкапов. Имя базы данных 1С в SQL Server Management Studio обычно выглядит как srvr_base_1c или подобное — уточните точное имя через Конфигуратор 1С или напрямую в SSMS.
Модель восстановления базы данных влияет на стратегию резервного копирования. Для баз 1С оптимальны две модели:
- Full (Полная) — сохраняет все транзакции в журнале, позволяет восстановить данные на любой момент времени. Требует регулярной очистки журнала транзакций.
- Simple (Простая) — автоматически очищает журнал транзакций после контрольных точек. Достаточно для большинства сценариев работы с 1С.
Проверить модель восстановления можно командой T-SQL:
SELECT name, recovery_model_desc FROM sys.databases WHERE name = 'srvr_base_1c';
Изменить модель на Simple:
ALTER DATABASE [srvr_base_1c] SET RECOVERY SIMPLE;
Места для хранения бэкапов нужно много. Полная копия базы 1С размером 50 ГБ потребует минимум 200 ГБ свободного дискового пространства при хранении 7 ежедневных копий. Учитывайте сжатие — SQL Server умеет сжимать бэкапы встроенными средствами, экономя до 60% места.
Рекомендации по хранению:
- Локальное хранилище (быстрое восстановление) — отдельный диск на сервере базы данных.
- Сетевое хранилище (защита от отказа сервера) — NAS или файловый сервер с ежедневной синхронизацией.
- Облачное хранилище (защита от катастрофических сценариев) — копирование критичных бэкапов раз в неделю.
Серверное оборудование для баз данных должно обеспечивать достаточную производительность дисковой подсистемы. Для работы с 1С на SQL Server подходят серверы Dell PowerEdge для баз данных с SSD-дисками и RAID-контроллерами.
Способ 1: Effector Saver — настройка резервного копирования 1С SQL
Effector Saver — утилита от компании STEOR, автоматизирующая резервное копирование баз 1С. Поддерживает как файловые базы, так и клиент-серверные варианты на SQL Server и PostgreSQL. Бесплатная лицензия покрывает базовые сценарии.
Установка Effector Saver
Скачайте дистрибутив с официального сайта STEOR. Установка стандартная — запустите инсталлятор и следуйте мастеру. Программа устанавливается на сервер приложений 1С или на отдельную машину с доступом к SQL Server.
После установки запустите EffectorSaver.exe. Интерфейс разделён на три зоны: список баз данных, расписание и журнал операций.
Добавление базы 1С для резервного копирования
Пошаговая настройка базы в Effector Saver
- Нажмите «Добавить базу» на верхней панели.
- Выберите тип базы: «MS SQL Server».
-
Укажите параметры подключения: имя сервера SQL Server (например,
SERVER1\SQLEXPRESS), имя базы данных (например,srvr_base_1c), учётные данные SQL Server — используйте аутентификацию Windows или SQL-аккаунт с правами db_backupoperator. - Нажмите «Проверить подключение». Effector Saver должен успешно соединиться с базой.
-
Укажите путь для сохранения бэкапов: локальная папка на сервере (например,
D:\Backups\1C) или сетевой путь UNC (например,\\NAS\Backups\1C). - Включите опцию «Проверять целостность после копирования» — Effector Saver запустит DBCC CHECKDB после создания бэкапа.
- Сохраните настройки.
Настройка расписания в Effector Saver
Перейдите на вкладку «Расписание». Effector Saver поддерживает гибкие сценарии: ежедневные полные копии, дифференциальные копии в течение дня, копирование только в рабочие дни.
Типовая схема для базы 1С среднего размера (до 100 ГБ):
- Полная копия — ежедневно в 23:00 (после окончания рабочего дня).
- Дифференциальная копия — каждые 4 часа в рабочее время (08:00, 12:00, 16:00).
- Хранение — 7 полных копий + дифференциальные за текущую неделю.
Создайте задание:
- Нажмите «Создать задание».
- Выберите добавленную базу из списка.
- Тип резервной копии: «Полная».
- Расписание: «Ежедневно», время — 23:00.
- Включите «Удалять старые копии» — укажите срок хранения 7 дней.
- Сохраните задание.
Effector Saver интегрируется с планировщиком Windows — задания создаются автоматически. Проверьте их в Task Scheduler: путь Библиотека планировщика заданий → EffectorSaver.
Тестовый запуск резервного копирования
Не ждите наступления расписания — запустите задание вручную. Выделите задание в списке, нажмите «Выполнить сейчас». Наблюдайте за прогрессом в нижней панели «Журнал операций».
Успешное выполнение показывает:
- Статус «Завершено».
- Размер созданного файла бэкапа.
- Время выполнения.
- Результат проверки целостности (если включена опция).
Откройте папку назначения — файл бэкапа должен присутствовать с именем вида srvr_base_1c_2026-02-11_230015.bak.
Способ 2: T-SQL и SQL Server Agent для автоматического бэкапа
SQL Server Agent — встроенный планировщик заданий Microsoft SQL Server. Позволяет создавать задания резервного копирования на T-SQL без сторонних утилит. Метод подходит для администраторов, предпочитающих контроль над каждым аспектом процесса.
Создание скрипта резервного копирования T-SQL
Базовая команда полного резервного копирования:
BACKUP DATABASE [srvr_base_1c] TO DISK = 'D:\Backups\1C\srvr_base_1c_Full.bak' WITH FORMAT, COMPRESSION, STATS = 10;
Параметры:
FORMAT— перезаписывает существующий файл бэкапа (без создания нового набора медиа).COMPRESSION— сжимает бэкап (доступно с SQL Server 2008 Enterprise и выше, с SQL Server 2016 Standard и выше).STATS = 10— выводит прогресс каждые 10% выполнения.
Для добавления даты и времени в имя файла используйте динамический T-SQL:
DECLARE @FileName NVARCHAR(500); DECLARE @DateTime NVARCHAR(50); SET @DateTime = CONVERT(NVARCHAR, GETDATE(), 112) + '_' + REPLACE(CONVERT(NVARCHAR, GETDATE(), 108), ':', ''); SET @FileName = 'D:\Backups\1C\srvr_base_1c_' + @DateTime + '.bak'; BACKUP DATABASE [srvr_base_1c] TO DISK = @FileName WITH FORMAT, COMPRESSION, STATS = 10;
Формат даты: ГГГГММДД_ЧЧММСС (например, 20260211_230015.bak).
Настройка задания SQL Server Agent
Создание задания резервного копирования в SQL Server Agent
- Откройте SQL Server Management Studio (SSMS), подключитесь к экземпляру SQL Server.
- Разверните узел «SQL Server Agent» в Object Explorer. Если служба остановлена, щёлкните правой кнопкой → «Start».
- Щёлкните правой кнопкой на «Jobs» → «New Job».
-
На вкладке «General» укажите имя задания:
Backup 1C Database Full. Владелец (Owner) —saили ваша учётная запись с правами sysadmin. -
Перейдите на вкладку «Steps» → «New». Укажите имя шага:
Execute Backup. Тип (Type): «Transact-SQL script (T-SQL)». База данных:master(илиmsdb). В поле «Command» вставьте скрипт T-SQL из предыдущего раздела. -
Перейдите на вкладку «Schedules» → «New». Укажите имя расписания:
Daily at 11 PM. Тип: «Recurring». Частота: «Daily», время — 23:00:00. - На вкладке «Notifications» настройте уведомления (опционально): «E-mail» при успехе/ошибке, «Write to Windows Application event log» при ошибке.
- Нажмите «OK» — задание создано.
Проверка выполнения задания
Запустите задание вручную: щёлкните правой кнопкой на задании → «Start Job at Step». SQL Server Agent выполнит скрипт и покажет результат.
История выполнения доступна через контекстное меню задания → «View History». Проверьте статус: «Succeeded» (успешно) или «Failed» (ошибка). При ошибках читайте сообщения — чаще всего проблемы связаны с правами доступа к папке назначения или отсутствием свободного места на диске.
Очистка старых бэкапов через T-SQL
SQL Server не удаляет старые бэкапы автоматически. Добавьте шаг очистки в задание через системную процедуру xp_delete_file:
EXECUTE master.dbo.xp_delete_file 0, N'D:\Backups\1C', N'bak', N'2026-02-04T23:00:00';
Параметры:
0— удалять файлы резервных копий (не логи транзакций).N'D:\Backups\1C'— путь к папке с бэкапами.N'bak'— расширение файлов для удаления.N'2026-02-04T23:00:00'— удалить файлы старше этой даты (7 дней назад от текущей даты).
Динамический вариант (автоматический расчёт даты 7 дней назад):
DECLARE @DeleteDate NVARCHAR(50); SET @DeleteDate = CONVERT(NVARCHAR, DATEADD(DAY, -7, GETDATE()), 126); EXECUTE master.dbo.xp_delete_file 0, N'D:\Backups\1C', N'bak', @DeleteDate;
Добавьте этот код как отдельный шаг в задание SQL Server Agent перед шагом резервного копирования.
Способ 3: Maintenance Plan — план обслуживания SQL Server
Maintenance Plan — визуальный конструктор задач обслуживания в SQL Server Management Studio. Подходит для администраторов, которым удобнее настраивать задания через графический интерфейс.
Создание плана обслуживания
- В SSMS разверните узел «Management» → щёлкните правой кнопкой на «Maintenance Plans» → «Maintenance Plan Wizard».
- Укажите имя плана:
1C Backup Plan. - Выберите задачу: «Back Up Database (Full)».
- Выберите базу данных:
srvr_base_1c. - Укажите папку назначения:
D:\Backups\1C. - Включите опцию «Verify backup integrity» (проверка целостности).
- Настройте расписание: ежедневно в 23:00.
- Завершите мастер.
Maintenance Plan создаёт задание в SQL Server Agent автоматически — проверьте его в списке Jobs.
Добавление очистки старых файлов
Откройте созданный план двойным щелчком в списке Maintenance Plans. Откроется визуальный редактор с блоками задач.
- Перетащите задачу «Maintenance Cleanup Task» на рабочую область.
- Соедините блок «Back Up Database Task» с блоком «Maintenance Cleanup Task» стрелкой (precedence constraint).
- Дважды щёлкните на блоке «Maintenance Cleanup Task».
- Укажите параметры: папка
D:\Backups\1C, расширениеbak, удалять файлы старше 7 дней. - Сохраните план.
Теперь задание автоматически удаляет бэкапы старше недели после каждого успешного копирования.
Сравнение способов резервного копирования 1С на SQL Server
| Критерий | Effector Saver | T-SQL + SQL Agent | Maintenance Plan |
|---|---|---|---|
| Простота настройки | Высокая | Средняя | Высокая |
| Гибкость | Средняя | Высокая | Низкая |
| Поддержка PostgreSQL | Да | Нет | Нет |
| Встроенная проверка целостности | Да | Нужен доп. скрипт | Да |
| Требует установки ПО | Да | Нет | Нет |
| Централизованное управление несколькими базами | Да | Нет | Частично |
| Лицензия | Бесплатная / Платная | Входит в SQL Server | Входит в SQL Server |
Выбор зависит от инфраструктуры: Effector Saver удобен для гетерогенной среды (SQL Server + PostgreSQL), T-SQL даёт максимальный контроль для опытных DBA, Maintenance Plan оптимален для стандартных сценариев без кастомизации.
Проверка и восстановление резервных копий
Создание бэкапа — половина задачи. Важно регулярно проверять возможность восстановления данных. Невосстанавливаемый бэкап бесполезен.
Проверка целостности бэкапа
Команда T-SQL для проверки:
RESTORE VERIFYONLY FROM DISK = 'D:\Backups\1C\srvr_base_1c_20260211_230015.bak' WITH CHECKSUM;
Параметр CHECKSUM проверяет контрольные суммы страниц данных внутри бэкапа. Успешный результат — сообщение «The backup set on file 1 is valid».
Тестовое восстановление на отдельный сервер
Раз в месяц выполняйте полное восстановление бэкапа на тестовый экземпляр SQL Server. Это выявит проблемы, которые не покажет RESTORE VERIFYONLY.
RESTORE DATABASE [srvr_base_1c_TEST]
FROM DISK = 'D:\Backups\1C\srvr_base_1c_20260211_230015.bak'
WITH MOVE 'srvr_base_1c' TO 'D:\SQLData\srvr_base_1c_TEST.mdf',
MOVE 'srvr_base_1c_log' TO 'D:\SQLData\srvr_base_1c_TEST_log.ldf',
REPLACE;
Параметры:
MOVE— указывает новые пути для файлов данных и журнала (чтобы не перезаписать рабочую базу).REPLACE— разрешает перезапись существующей базы с таким именем.
После восстановления подключите базу в Конфигураторе 1С и проверьте доступность данных.
Восстановление на момент времени (Point-in-Time Recovery)
Если база использует модель восстановления Full и вы создаёте резервные копии журнала транзакций, возможно восстановление на конкретный момент времени.
RESTORE DATABASE [srvr_base_1c] FROM DISK = 'D:\Backups\1C\srvr_base_1c_Full.bak' WITH NORECOVERY; RESTORE LOG [srvr_base_1c] FROM DISK = 'D:\Backups\1C\srvr_base_1c_Log.trn' WITH STOPAT = '2026-02-11 15:30:00', RECOVERY;
Параметры:
NORECOVERY— оставляет базу в режиме восстановления для применения дополнительных бэкапов.STOPAT— восстанавливает данные до указанного момента времени.RECOVERY— завершает процесс восстановления и переводит базу в рабочий режим.
Мониторинг резервного копирования
Настройте уведомления о результатах резервного копирования — иначе вы не узнаете об ошибках до момента, когда бэкап понадобится.
Email-уведомления через Database Mail
SQL Server поддерживает отправку писем через Database Mail. Настройте профиль почты:
- В SSMS откройте «Management» → «Database Mail» → «Configure Database Mail».
- Создайте новый профиль: укажите имя профиля, добавьте SMTP-сервер (адрес, порт, учётные данные).
- Включите Database Mail: выполните
sp_configure 'Database Mail XPs', 1; RECONFIGURE;
Добавьте уведомление в задание SQL Server Agent:
- Откройте свойства задания → вкладка «Notifications».
- Включите «E-mail» → выберите оператора (создайте через «SQL Server Agent» → «Operators» → «New Operator»).
- Укажите условие: «When the job fails» (при ошибке) или «When the job completes» (при любом завершении).
Проверка свободного места на диске
Добавьте в задание шаг проверки свободного места через PowerShell:
EXECUTE master.dbo.xp_cmdshell 'powershell.exe -Command "Get-PSDrive D | Select-Object @{Name=''Free(GB)'';Expression={[math]::Round($_.Free/1GB,2)}}"';
Если свободного места меньше порога (например, 100 ГБ), задание должно завершиться с ошибкой и отправить уведомление.
Частые ошибки при настройке резервного копирования 1С SQL
Ошибка «Operating system error 5: Access is denied»
Причина: у учётной записи службы SQL Server нет прав на запись в папку назначения бэкапа.
Решение: откройте свойства папки назначения → вкладка «Security» → добавьте учётную запись службы SQL Server (обычно NT Service\MSSQLSERVER) с правами «Full Control». Или используйте сетевой путь UNC и предоставьте права учётной записи SQL Server на сетевой ресурс.
Ошибка «There is insufficient free space on disk volume»
Причина: недостаточно места для создания бэкапа.
Решение: очистите старые бэкапы, переместите папку назначения на диск с большим объёмом, включите сжатие бэкапов (WITH COMPRESSION). Для крупных баз рассмотрите использование систем хранения данных — Dell PowerVault обеспечивает высокую ёмкость и производительность.
Ошибка «SQL Server Agent is not currently running»
Причина: служба SQL Server Agent остановлена.
Решение: запустите службу через SSMS (щёлкните правой кнопкой на «SQL Server Agent» → «Start») или через диспетчер служб Windows (services.msc → «SQL Server Agent (MSSQLSERVER)» → «Start»). Настройте автоматический запуск службы: свойства службы → тип запуска «Automatic».
Файл бэкапа не перезаписывается
Причина: команда BACKUP DATABASE без параметра FORMAT добавляет новый набор медиа в существующий файл, увеличивая его размер.
Решение: добавьте параметр WITH FORMAT в команду T-SQL — это перезапишет файл полностью. Или используйте уникальные имена файлов с датой и временем в имени (показано выше).
Резервное копирование длится слишком долго
Причина: медленная дисковая подсистема, большой размер базы данных, фрагментация данных.
Решение: включите сжатие бэкапов (WITH COMPRESSION) — уменьшает объём записываемых данных. Используйте быстрые диски (SSD вместо HDD) — серверы баз данных требуют SSD-дисков для оптимальной производительности. Выполняйте резервное копирование в часы минимальной нагрузки на сервер. Рассмотрите дифференциальные бэкапы в течение дня вместо полных.
Автоматизация копирования бэкапов на удалённое хранилище
Локальные бэкапы защищают от случайного удаления данных, но не спасают при отказе сервера или пожаре в серверной. Копируйте критичные бэкапы на удалённое хранилище.
Синхронизация через Robocopy
Robocopy — встроенная утилита Windows для копирования файлов. Создайте .bat-скрипт:
@echo off robocopy "D:\Backups\1C" "\\NAS\Backups\1C" *.bak /MIR /R:3 /W:10 /LOG:"D:\Logs\robocopy.log"
Параметры:
/MIR— зеркалирование (удаляет на приёмнике файлы, отсутствующие в источнике)./R:3— 3 попытки повтора при ошибке./W:10— 10 секунд ожидания между повторами./LOG— путь к лог-файлу.
Добавьте скрипт в планировщик заданий Windows (Task Scheduler) — запуск через час после завершения резервного копирования.
Репликация на облачное хранилище
Для критичных данных настройте еженедельное копирование в облако. Используйте утилиты провайдера (Yandex Cloud CLI, AWS CLI, Azure Storage Explorer) или универсальные решения (rclone).
Пример команды rclone для копирования в Yandex Object Storage:
rclone sync "D:\Backups\1C" yandex:my-backup-bucket/1C --progress
Настройте задание в Task Scheduler на воскресенье в 01:00 — скопирует бэкапы за неделю в облако.
Рекомендации по выбору оборудования для серверов 1С
Производительность резервного копирования зависит от скорости дисковой подсистемы. Для серверов баз данных 1С на SQL Server критичны:
- SSD-диски для файлов данных и журнала транзакций — минимум NVMe SSD для production-окружений.
- Отдельный диск для бэкапов — HDD достаточно, но лучше SSD SATA для быстрого восстановления.
- RAID-контроллер с кэшем и BBU — защищает данные при отключении питания, ускоряет операции записи.
- Достаточный объём оперативной памяти — SQL Server активно использует RAM для кэширования данных; для баз 1С рекомендуется минимум 32 ГБ, оптимально 64-128 ГБ.
Для построения надёжной инфраструктуры на базе Dell рассмотрите серверы Dell PowerEdge для 1С с предустановленными конфигурациями для задач учётных систем.
FAQ: Часто задаваемые вопросы
Как часто нужно делать резервное копирование базы 1С на SQL Server?
Зависит от интенсивности изменения данных. Для большинства компаний достаточно полного бэкапа раз в сутки (ночью) плюс дифференциальные копии каждые 4-6 часов в рабочее время. Для высоконагруженных баз с большим объёмом транзакций настройте резервное копирование журнала транзакций каждые 15-30 минут — это позволит восстановить данные с минимальной потерей (до последней копии журнала).
Можно ли делать бэкап во время работы пользователей в 1С?
Да. SQL Server поддерживает онлайн-резервное копирование — база остаётся доступной для чтения и записи во время создания бэкапа. Производительность работы пользователей может немного снизиться из-за нагрузки на дисковую подсистему, но блокировок не происходит. Для минимизации влияния запускайте полные копии в нерабочее время, а дифференциальные — в моменты низкой активности пользователей.
Чем отличается полное, дифференциальное и инкрементное резервное копирование?
Полное (Full) копирование сохраняет всю базу данных целиком. Дифференциальное (Differential) копирует только изменения с момента последнего полного бэкапа. Инкрементное копирование в SQL Server отсутствует как отдельный тип — его аналог это резервное копирование журнала транзакций (Transaction Log Backup), которое сохраняет только журнал изменений с момента последнего бэкапа журнала. Для восстановления из дифференциального бэкапа нужны: последний полный бэкап + последний дифференциальный. Для восстановления из бэкапов журнала транзакций нужны: полный бэкап + все бэкапы журнала транзакций по цепочке до нужного момента времени.
Поделиться статьёй:
Об авторе

Подбор и консалтинг · Экономика и выбор
Консультант по подбору серверного оборудования. 7 лет помогает компаниям выбирать серверы под задачи и бюджет. Сторонник разумной экономии.
Все статьи автора →Похожие материалы

Автономный сервер 1С: когда работает без серверной лицензии
Платформа 1С:Предприятие позволяет развернуть локальный сервер без покупки серверной лицензии при условии работы одного пользователя и локальной СУБД. Разбираем ограничения автономного режима, когда нужна полная лицензия и как выбрать оборудование для роста бизнеса.

Хранилище конфигураций 1С на сервере: назначение и управление
Хранилище конфигураций 1С — это централизованная система контроля версий на сервере, где хранятся все изменения базы данных. Оно позволяет нескольким разработчикам работать параллельно, сохраняет историю изменений и дает возможность откатиться к предыдущей версии.

Развёртывание 1С на виртуальной машине: настройка и ресурсы
Виртуализация сервера 1С снижает затраты и упрощает масштабирование. Разбираем установку 1С на виртуальной машине: требования к ресурсам, выбор гипервизора, пошаговую настройку, оптимизацию производительности.