Как устранить ошибку разделенного доступа при выгрузке базы 1С 8.3 в формате .dt?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Розница IT и автоматизация бизнеса
← На главную

При работе с базами данных 1С:Предприятие 8.3 на платформе SQL администраторы часто сталкиваются с досадной проблемой: при попытке выполнить стандартную выгрузку информационной базы в файл .dt через Конфигуратор возникает сообщение «Ошибка разделенного доступа к информационной базе». Ситуация осложняется тем, что даже если в базе нет активных пользователей, система фиксирует наличие неких фоновых процессов, которые препятствуют получению монопольного доступа.

В этой статье мы подробно разберем, почему возникают «призрачные» сеансы, как их корректно завершить и какие альтернативные инструменты существуют для создания резервных копий, когда стандартный метод в Конфигураторе дает сбой. Мы проанализируем ситуацию на примере конфигурации Розница 2.3, но данные методы применимы практически ко всем современным решениям на платформе 8.3.

Выясняем причину: почему блокируется доступ?

Для выполнения операции выгрузки в .dt платформе 1С требуется монопольный доступ. Это означает, что в базе не должно быть ни одного активного сеанса (включая сеансы самого администратора, кроме текущего) и ни одного фонового задания. Основными виновниками блокировки обычно становятся:

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

Способ 1: Использование утилиты ibcmd (самый эффективный метод)

Начиная с современных версий платформы 8.3, 1С предоставляет мощный инструмент — автономный сервер и утилиту администрирования ibcmd.exe. Ее преимущество заключается в том, что она может работать с базой данных напрямую, минуя запуск тяжелого интерфейса Конфигуратора, что часто позволяет избежать автоматического запуска «лишних» фоновых процессов.

Разберем пример команды для выгрузки базы. Для этого нам понадобится открыть командную строку (cmd) от имени администратора и перейти в каталог bin установленной платформы.


"c:\Program Files\1cv8\8.3.16.1063\bin\ibcmd.exe" infobase dump --db-server=ИмяВашегоСервера --dbms=MSSQLServer --db-name=ИмяБазы --db-user=sa --db-pwd=ПарольSQL "C:\Backups\Backup.dt"

В данной команде мы используем следующие параметры:

Важный нюанс: при использовании ibcmd рекомендуется предварительно остановить службу Агент сервера 1С:Предприятия, чтобы полностью исключить влияние менеджера кластера на базу во время выгрузки.

Способ 2: Правильный алгоритм блокировки через консоль кластера

Часто ошибка возникает из-за того, что администраторы устанавливают блокировку сеансов, но не учитывают уже запущенные процессы. Проанализируем правильную последовательность действий:

  1. Откроем Консоль администрирования серверов 1С.
  2. Перейдем в свойства нужной информационной базы. Для глубокой аналитики параметров системы можно использовать монитор кластеров серверов.
  3. Установим флажок «Блокировка регламентных заданий включена».
  4. Установим флажок «Блокировка начала сеансов включена». В поле «Код разрешения» введем произвольное слово, например, Admin123.
  5. В разделе «Сеансы» принудительно завершим все текущие сеансы, кроме своего (если нужно ограничение количества сеансов, настройте его заранее).
  6. Критически важный шаг: Перезапустим службу 1C:Enterprise 8.3 Server Agent и, для надежности, службу SQL Server. Это гарантированно разорвет все сетевые транзакции и очистит кэш соединений.
  7. Зайдем в Конфигуратор. Если установлена блокировка сеансов, используем параметр запуска /UC Admin123. Для КОРП-систем также актуально внешнее управление сеансами.

После этого выгрузка должна пройти успешно, так как новые задания не смогут запуститься благодаря установленным флагам блокировки.

Способ 3: Отключение полнотекстового поиска

Если в Конфигураторе при каждом входе появляется «Системное фоновое задание», скорее всего, это ОбновлениеИндексаППС. Платформа инициирует его автоматически при обнаружении изменений в данных или метаданных.

Проанализируем, как его отключить:

  1. Зайдем в режиме «1С:Предприятие» под правами администратора.
  2. Перейдем в раздел Администрирование — Обслуживание — Полнотекстовый поиск.
  3. Снимем галочку «Полнотекстовый поиск разрешен».
  4. Нажмем кнопку «Очистить индекс».

После отключения этой функции системные фоновые задания перестанут инициироваться платформой самостоятельно в фоновом режиме.

Способ 4: Очистка серверного кэша

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

Рассмотрим процесс очистки:

  1. Остановим службу 1C:Enterprise 8.3 Server Agent.
  2. Перейдем в каталог srvinfo (обычно он находится в C:\Program Files\1cv8\srvinfo).
  3. Найдем папку с названием вашего кластера (например, reg_1541).
  4. Внутри нее найдем папку с идентификатором вашей базы (UID базы можно посмотреть в свойствах в консоли администрирования).
  5. Удалим папку snccntxt — в ней хранятся данные о сеансах. Для клиентских ПК также полезна очистка кэша батником.
  6. Запустим службу сервера 1С заново.

Способ 5: Режим Single User в MS SQL Server

Если проблема кроется в блокировках на уровне СУБД (например, зависшая транзакция от стороннего ПО для бэкапа), можно перевести базу SQL в однопользовательский режим. Рассмотрим выполнение этой операции через SQL Server Management Studio (SSMS):


USE master;
ALTER DATABASE [ИмяВашейБазы]
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

Команда ROLLBACK IMMEDIATE принудительно оборвет все существующие транзакции и закроет соединения. После этого база будет принимать только одно подключение. Выполнив выгрузку (лучше через ibcmd, так как Конфигуратор может создать несколько соединений), не забудьте вернуть базу в многопользовательский режим:


ALTER DATABASE [ИмяВашейБазы]
SET MULTI_USER;

Резюме и рекомендации

Для предотвращения подобных проблем в будущем мы рекомендуем придерживаться следующих правил при обслуживании баз 1С:

Таким образом, мы выяснили, что «Ошибка разделенного доступа» — это не приговор, а следствие работы автоматизированных механизмов платформы. Использование утилиты ibcmd и грамотное управление блокировками в консоли кластера позволяют решить эту задачу максимально быстро и эффективно.

← На главную