Резервное копирование 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С» блокирует работу пользователей и останавливает бизнес-процессы. Статья описывает пошаговую диагностику причин потери связи: проверку сетевой связности, анализ состояния служб сервера приложений, мониторинг ресурсов. Вы найдёте конкретные команды для проверки доступности портов, инструкции по восстановлению соединения, рекомендации по настройке мониторинга для предотвращения проблем.
Глава 14: Reviews
Отзывы Поделитесь своим опытом использования продуктов StarTech.com, включая применение и настройку продуктов, что вам нравится в продуктах и области для улучшения. StarTech.com Ltd. 45 Artisans...
Глава 13: Hard-to-find made easy. At StarTech.com, that isn't a slogan. It's a promise.
Труднодоступное стало простым. В StarTech.com это не слоган. Это обещание. StarTech.com — ваш универсальный источник всех необходимых компонентов для подключения. От новейших технологий до...