Зависла блокировка на сервере предприятия. Нужно сохранить конфигурацию, но перезапуск сервера 1С невозможен

Есть простое решение проблемы. Не отменяющее, правда,  перезапуска сервера в будущем, но позволяющее протянуть до следующей ночи.

Иногда встречающаяся коварная ситуация — зависает на сервере блокировка и не дает сохранить конфигурацию.

Блокировка видна только в консоли кластера в ветке База/блокировки/По сеансам и кроме имени компьютера никакой информации не содержит. Избавиться от нее нельзя никак, только сервер предприятия перезапускать. Однако, доступа к серверу может не быть, либо админ спит… А сохранить конфигурацию страсть как хочется.

 

Рабочий алгоритм действий:

1) Запускам консоль сервера 1С

2) Выгоняем всех пользователей из рабочей базы (пусть она называется base).

3) В свойствах  базы  base блокируем подключения, блокируем регламентные задания. Для особой уверенности, что никто и никогда — изменяем имя БД на сервере (при попытке подключения клиента к base сообщит, что БД не найдена).

4) Создаем новое подключение к базе данных.  Назовем его base_backdoor. Параметры подключения как были у базы base. Сразу при создании подключения блокируем регламенты.

5) Заходим конфигуратором в базу  base_backdoor. Сохраняем  конфигурацию. Теперь нам не мешает зависшая блокировка, т.к. сервер предприятия о ней ничего не помнит, потому как создал у себя новую папку с со служебными файлами.

6)  Закрываем конфигуратор. Заходим в консоль сервера предприятия. Портим подключение base_backdoor — блокируем подключения,  меняем имя БД на сервере.

7) Восстанавливаем подключение base — разблокируем подключения, регламенты, восстанавливаем имя БД на сервере.

16 Comments

  1. cargobird

    Интересно… Подписался на комментарии.

    Вообще тема зависшей блокировки больная, не только для сохранения конфигурации.

    В частности рождение таковых. И предотвращение появления таковых.

    Reply
  2. karpik666

    Как я понял можно делать по другому: просто удаляем базу из списка в консоле 1С предприятия, а затем создаем новую с тем же наименованием, по сути тоже зависших соединений не будет, или я не прав.

    Reply
  3. bulpi

    (2)

    Не удалится база, т.к. есть соединения.

    Reply
  4. vasja_yar

    Поставить у себя на компе кластер серверов, в нем добавить базу. Подключиться через свой сервер к базе и выгрузить cf/ Способ если порт от своего компа к sql достпен

    Reply
  5. ivanov660

    А кто собственно мешает сделать бекап на SQL и восстановить его в копию и к копии подключить 1С ку? Никого выгонять и нечего мутить не надо.

    Reply
  6. Evilgrym

    (5) ivanov660, 1,5 ТБ размер базы.

    Reply
  7. Evilgrym

    (2) karpik666,

    Не получается. Эта самая зависшая блокировка как раз и мешается. Сервер предприятия ведет список блокировок где-то у себя глубоко внутри, и при попытке удалить регистрацию базы сверяется с этим списком, а там сидит в кустах это маленькое с красными выпученными глазами и орет «Занято!»

    Reply
  8. Andrefan

    ИМХО, лучше так не делать. Получается неявное динамическое обновление, а это всегда опасно.

    Reply
  9. igo1

    Посмотрел статью и комментарии, мы делаем проще, перезапускаем Агента сервера 1с, пользователи не вылетают, а блокировки уходят.

    Reply
  10. AlX0id

    (8) Andrefan, а еще хуже то, что об этом «динамическом» обновлении у сервера 1С нет шанса узнать.. То бишь, есть вероятность того, что он будет применять кэш старой базы со старыми метаданными к новой.

    (6)

    Раз уж база террабайтная, и такая хрень в порядке вещей, то лучше выбейте себе админские права или права на перезапуск службы, чем подвергать опасности данные. И метаданные.

    Reply
  11. PVG_73

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

    Reply
  12. Evilgrym

    (10) AlX0id, Я б со с радостью, да беда в том, что сервер на линуксе, и админ пароль не дает ни в какую. А перезапуск сервака днем не всегда возможен. Баз много вертится.

    Под линуксом такая беда возникает не часто, но возникнув жизнь портит серьезно. За два года раз 5 было.

    Кстати, на счет подключения с двух серверов — как-то тоже практиковал, отладка на втором была включена и что-то там вылавливал в веб-сервисе, но только в качестве просмотра, конфу редактировал на основном.

    Reply
  13. MECHTAKZ

    Не совсем понял, чем отличается выгон всех пользователей, блокировка подключений и регламентных, переименование базы от обычно перезапуска агента сервера 1С?

    Reply
  14. Evilgrym

    (13) MECHTAKZ, тем, что остальные 22 базы продолжают активно работать

    Reply
  15. teller

    (14) а остальные 22 базы тоже по 1,5 ТБ каждая?

    Reply
  16. Evilgrym

    (15) teller, нет, поменьше

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *