Восстановить базу MSSQL без остановки сервера 1С

1. native-api 03.07.23 10:28 Сейчас в теме
На сервере 1С находится несколько БД на базе MSSQL 2019. Нужно восстановить одну из них из резервной копии, сделанной средствами MSSQL (файл .bak), не трогая остальные. Возможно ли это?

---

Испробованные способы:

1) Остановить сервис "1C:Enterprise 8.3 Server Agent (x86-64)", восстановить БД через MSSQL Management Studio. Это проходит, но на время восстановления ложится весь сервер 1С.
2) Восстановить БД через MSSQL Management Studio. Восстановление не проходит с ошибкой "Error - Exclusive access could not be obtained because the database is in use".
3) Восстановить БД через MSSQL Management Studio с галочкой "Close existing connections to destination database", используя трюк из https://stackoverflow.com/questions/19029787/why-is-close-existing-connections-to-destination-database-grayed-out-on-sql-se (поставить галочку ДО выбора источника и получателя) согласно совету в https://www.alfa-level.ru/vosstanovlenie-arhivnoj-kopii-bazy-1s-klient-server .
После восстановления в клиенте 1С на разных этапах возникают ошибки "Сеанс завершен администратором" (вложен пример ошибки, выдаваемой Конфигуратором при попытке открытия окна расширений конфигурации). Очевидно, сервер 1С не восстановил сам соединение с БД корректно.
Более того, попытка перезапуска сервера также виснет (ошибка "The service did not respond to the start or control request in a timely fashion").
3) В консоли администрирования 1С в разделе "информационные базы" не нашел каких-либо пунктов типа "Остановить базу" или каких-то других средств указать серверу разорвать/восстановить соединение с конкретной базой MSSQL.
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
7. starjevschik 03.07.23 12:55 Сейчас в теме
(6) да вряд ли, восстанавливал много раз 1с базы в сиквеле и никогда не вспоминал о сервере 1с. Может регламентные задания какие-то работают.
native-api; +1 Ответить
8. Дмитрий74Чел 234 04.07.23 10:17 Сейчас в теме
Ну вы блин даете.

Ваша проблема в том, что база не заблокирована на уровне кластера 1С, значит сеансы (хоть пользовательские, хоть служебные от самого кластера) - могут постоянно стучаться в базу и мешать работе sql.

1) Установить блокировку сеансов на базу в кластере 1С. См. фото. Поле Сообщение - необязательно. Код - хоть "123" но чтоб был. Ждать 5 минут. (или смотреть что сеансы в консоли сдохли)
2) Выполнить восстановление легко и непринужденно, без костылей.
Прикрепленные файлы:
native-api; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starjevschik 03.07.23 11:39 Сейчас в теме
Если с базой соединений нет, то все восстанавливается без проблем, не раз делал, никаких особенных действий не нужно.
Если есть, то это - очевидно - невозможно.
6. native-api 03.07.23 12:46 Сейчас в теме
(2) Я так понимаю, сам сервер постоянно держит соединение с базой.
7. starjevschik 03.07.23 12:55 Сейчас в теме
(6) да вряд ли, восстанавливал много раз 1с базы в сиквеле и никогда не вспоминал о сервере 1с. Может регламентные задания какие-то работают.
native-api; +1 Ответить
9. native-api 23.10.23 10:30 Сейчас в теме
Да, в моем случае постоянно запускались регламентные задания. В консоли кластера заблокировал их и завершил соответствующие сеансы и соединения.
3. TormDV 03.07.23 11:43 Сейчас в теме
День добрый. Регламентные задания 1С в консоли администрирования для этой базы нужно отключить, пользователей выгнать, но думаю, это и так понятно. Может быть, дело не в базе, а ее кеше серверном или пользовательском? Что вообще с ней случилось, что понадобилось восстановление? Из кластера серверов можно удалить, на крайний случай, а потом заново добавить после восстановления бекапа. Что сам сервер MSSQL пишет по поводу этой базы, когда в 1С ошибки возникают, или ничего не пишет?
4. PowerBoy 3365 03.07.23 11:45 Сейчас в теме
Блокировка регламентов и сеансов в консоли администрирования 1С или вообще переименуй базу данных или сервер 1с, потом восстановишь.
5. ZergKRSK 129 03.07.23 12:15 Сейчас в теме
Всегда юзаю пункт 3 никаких проблем
8. Дмитрий74Чел 234 04.07.23 10:17 Сейчас в теме
Ну вы блин даете.

Ваша проблема в том, что база не заблокирована на уровне кластера 1С, значит сеансы (хоть пользовательские, хоть служебные от самого кластера) - могут постоянно стучаться в базу и мешать работе sql.

1) Установить блокировку сеансов на базу в кластере 1С. См. фото. Поле Сообщение - необязательно. Код - хоть "123" но чтоб был. Ждать 5 минут. (или смотреть что сеансы в консоли сдохли)
2) Выполнить восстановление легко и непринужденно, без костылей.
Прикрепленные файлы:
native-api; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот