Восстановление базы 1С из бэкапа MS SQL (.bak): простая пошаговая инструкция через SSMS
- Нужно развернуть копию базы 1С для тестирования из файла с расширением
.bak. - Случился сбой рабочей базы, и требуется срочно накатить вчерашнюю резервную копию SQL.
- При попытке восстановления базы возникает ошибка монопольного доступа (база занята пользователями или службой 1С).
Шаг 1. Запуск SQL Server Management Studio (SSMS)
- Нажмите меню Пуск и запустите Microsoft SQL Server Management Studio.
- В окне подключения введите имя вашего SQL-сервера (например,
localhostилиSERVER\SQLEXPRESS), выберите аутентификацию Windows (или логинsa) и нажмите «Connect».
Шаг 2. Отключение активных пользователей 1С
Если вы восстанавливаете базу поверх существующей, никто не должен с ней работать:
- Откройте консоль «Администрирование серверов 1С:Предприятия».
- Найдите вашу базу и в свойствах временно поставьте галочку «Блокировка начала сеансов включена».
- Удалите активные сеансы во вкладке «Сеансы» (или просто перезапустите службу сервера 1С
1C:Enterprise Server Agentчерезservices.msc).
Шаг 3. Процесс восстановления базы в SSMS
- В левой колонке (Object Explorer) нажмите правой кнопкой мыши по папке «Databases» (Базы данных) и выберите «Restore Database...» (Восстановить базу данных).
- В открывшемся окне переключите точку на «Device» (Устройство) и нажмите кнопку с тремя точками [...] справа.
- Нажмите «Add» (Добавить), найдите ваш файл резервной копии
.bakна диске и нажмите «OK». - В поле «Database» вверху напишите имя базы, в которую вы хотите восстановить данные (можно выбрать существующую или ввести новое имя для тестовой копии).
Шаг 4. Настройка параметров перезаписи (важно!)
- В левой части окна перейдите на вкладку «Options» (Параметры).
- Поставьте галочку напротив «Overwrite the existing database (WITH REPLACE)» (Перезаписать существующую базу данных).
- Поставьте галочку напротив «Close existing connections to destination database» (Закрыть существующие соединения).
- Нажмите «OK» внизу окна и дождитесь сообщения «Database restored successfully».
Частые вопросы (FAQ)
Почему при восстановлении возникает ошибка 'Exclusive access could not be obtained'?
База занята фоновыми заданиями 1С или другими программами. Обязательно поставьте галочку 'Close existing connections to destination database' на вкладке Options в SSMS.
Можно ли восстановить .bak файл, если версия SQL Server старее, чем та, где делался бэкап?
Нет. MS SQL Server не умеет восстанавливать бэкапы, сделанные на более свежих версиях (например, бэкап из SQL 2019 нельзя развернуть на SQL 2016). Восстановление возможно только на аналогичную или более новую версию.
Где после восстановления лежат файлы базы данных?
Файлы данных (.mdf) и логов (.ldf) создаются по путям, указанным на вкладке 'Files' в окне восстановления SSMS. При необходимости пути можно скорректировать вручную.
Нужно ли перезапускать сервер 1С после восстановления базы?
Крайне рекомендуется перезапустить кластер серверов 1С или службу агента, чтобы очистить кэш соединений и сбросить возможные фантомные сеансы.