Скидання з’єднань із базою 1С

На проекті траплялись випадки, коли зависало одне із регламентних завдань. Консоль сервера не допомагала, оскільки сеанс скидався, а от з’єднання продовжувало висіти. Відповідно не можна було оновити базу. Вирішувалась проблема перезавантаженням служби сервера 1С. Але що робити, коли на сервері 1С крутяться інші бази, вийти із яких користувачам немає можливості? Тут на допомогу може прийти не популярний метод – скинути з’єднання із базою MS SQL (політика 1С забороняє змінювати чи працювати с БД напряму, тільки через вбудовані засоби в платформу). Ось тут знайшов код скрипта для MS SQL, котрий дозволить зробити вище написане. Також я зберіг ті скрипти в файли, які прикріпив до цієї публікації.
Приблизний порядок дій наступний:

  1. Запускаємо Microsoft SQL Server Management Studio
  2. Дивимось, чи є в нашої бази з’єднання (файл “Поиск баз с соединениями.sql”).
  3. Якщо є, то відкриваємо файл “Убивание соединений с базой.sql”
  4. Підставляємо в скрипті ім’я своєї бази
  5. Виконуємо скрипт

Пошук баз із з'єднаннямиРезультат видалення з'єднань

Треба додати, що перед виконанням треба закрити всі відкриті сеанси з базою, інакше вони будуть аварійно завершені.
Також в прикладених файлах ви зможете знайти скрипт, для зняття бази із режиму Single-User.

Скрипти MS SQL
Поиск баз с соединениями.sql -- 195 bytes, Скачаний 987 разів - Скачати
Убивание соединений с базой.sql -- 458 bytes, Скачаний 781 разів - Скачати
Снятие режима Single-User.sql -- 71 bytes, Скачаний 395 разів - Скачати