К статье
Практический материал

Администрирование · 12 мин

Как снять блокировку 1С 8.3 при загрузке базы

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

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

Блокировка бывает трёх видов: установленная вручную через консоль кластера или конфигуратор, оставшаяся от аварийно завершённого сеанса, и блокировка на уровне СУБД (MS SQL, PostgreSQL), когда транзакция удерживает таблицы. Каждый тип снимается своим способом, и важно не перепутать их — иначе можно потерять незавершённые транзакции пользователей.

Перед любыми действиями убедитесь, что у вас есть актуальная резервная копия базы и права администратора кластера или SQL-сервера. Без копии принудительное завершение процессов и перезапуск служб — это риск получить базу в несогласованном состоянии.

Как определить источник блокировки

Первый шаг — понять, кто именно заблокировал базу. Если при входе выводится сообщение с текстом вроде «Вход в базу временно невозможен, начало сеансов заблокировано» и указанием времени окончания — блокировка установлена осознанно (администратором или автоматически при обновлении конфигурации). Если сообщение гласит «Ошибка разделенного доступа» без пояснений — вероятно, остался зависший сеанс или монопольный режим не был снят.

В файловом варианте базы признак блокировки — наличие файла 1Cv8.1CD.lck в каталоге базы. В клиент-серверном варианте диагностику проводят через консоль администрирования серверов 1С: список сеансов покажет, какие пользователи и фоновые задания удерживают соединения.

Снятие блокировки через консоль кластера серверов

Для клиент-серверного варианта основной инструмент — консоль администрирования серверов 1С:Предприятия. Откройте её на сервере или с рабочей станции администратора, разверните кластер, найдите нужную информационную базу и откройте её свойства через контекстное меню.

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

Параллельно проверьте вкладку «Сеансы». Зависшие сеансы, помеченные временем активности несколько часов назад, завершите принудительно через контекстное меню. Также проверьте вкладку «Соединения» — иногда сеанс завершён, но соединение с СУБД осталось и продолжает удерживать ресурсы.

Снятие блокировки через консоль кластера
  1. 1
    Откройте консоль администрирования серверов 1С и разверните нужный кластер
  2. 2
    Выберите информационную базу, откройте её свойства
  3. 3
    Снимите флаги блокировки начала сеансов и блокировки регламентных заданий
  4. 4
    Перейдите на вкладку «Сеансы» и завершите зависшие сеансы
  5. 5
    Проверьте вкладку «Соединения» и удалите «мёртвые» соединения
  6. 6
    Попробуйте выполнить вход или загрузку в базу повторно

Вход с кодом разрешения

Если блокировка установлена намеренно и снимать её полностью нельзя (например, идёт регламентное обслуживание, а вам нужно срочно загрузить данные), используйте код разрешения. Это параметр, который администратор задаёт при включении блокировки, — временный «пропуск» для избранных.

Код передаётся через параметр командной строки запуска: /UC КодРазрешения (либо /UC"КодРазрешения"). В диалоге запуска 1С добавьте базу в список, откройте её параметры и укажите дополнительные параметры запуска. Для тонкого клиента и конфигуратора синтаксис одинаковый.

batch
"C:\Program Files\1cv8\8.3.22.1750\bin\1cv8.exe" DESIGNER /S ServerName\BaseName /UC КодРазрешения

Если код разрешения неизвестен, а блокировку ставили не вы — уточните у администратора или ответственного за обновление. Подбирать или обходить код не следует: блокировка существует именно для защиты целостности данных во время изменения структуры базы.

Разблокировка файловой базы

В файловом варианте блокировка чаще всего связана с зависшим процессом. Если программа закрылась аварийно, в каталоге базы остаётся служебный файл блокировок 1Cv8.1CD.lck, а процесс 1cv8.exe может продолжать висеть в памяти и удерживать базу в монопольном режиме.

Порядок действий: убедитесь, что все пользователи вышли из базы, откройте диспетчер задач и завершите все процессы 1cv8.exe и 1cv8c.exe. Затем проверьте каталог базы — если файл 1Cv8.1CD.lck остался после завершения всех процессов, удалите его вручную. После этого база должна открываться в обычном режиме.

Если база размещена в сетевой папке, дополнительно проверьте, не держит ли её открытым другой компьютер сети. На сервере, где лежит каталог, через «Управление компьютером → Общие папки → Открытые файлы» можно увидеть и закрыть зависшие сетевые подключения к файлу базы.

Блокировки на уровне СУБД

В клиент-серверном варианте ситуация, когда кластер 1С сеансы завершил, а база всё равно недоступна, обычно указывает на зависшую транзакцию в СУБД. В MS SQL Server откройте SQL Server Management Studio и проверьте активные процессы по базе: длительные транзакции со статусом suspended или sleeping с открытыми транзакциями — кандидаты на завершение.

Зависший процесс завершается командой KILL с указанием номера SPID. Перед этим проверьте, что делает процесс, — командой DBCC INPUTBUFFER(SPID). Если это длительный запрос пользователя, лучше дождаться его завершения или согласовать прерывание, чем получить откат большой транзакции, который может занять ещё больше времени.

В PostgreSQL аналогичная диагностика выполняется запросом к представлению pg_stat_activity, а завершение — функцией pg_terminate_backend(pid). Если блокировки на уровне СУБД возникают регулярно, это признак проблем в конфигурации: неуправляемые блокировки в коде, длительные транзакции в обработках загрузки.

Блокировка регламентных заданий и фоновые процессы

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

Решение — временно включить блокировку регламентных заданий в свойствах базы через консоль кластера, дождаться завершения активных фоновых процессов (список виден там же, на вкладке сеансов с типом «Фоновое задание») и только после этого запускать загрузку. После завершения не забудьте снять блокировку заданий, иначе обмены и расчёты остановятся.

Типичные ошибки при снятии блокировки
01
Перезагрузка сервера 1С без анализа сеансов — теряются незавершённые транзакции пользователей, а причина зависания остаётся невыясненной
02
Удаление файла 1Cv8.1CD.lck при работающих процессах 1cv8.exe — процесс продолжает удерживать базу, а повторное создание файла приводит к конфликту
03
Снятие блокировки сеансов до завершения обновления конфигурации — пользователи входят в базу с рассинхронизированной структурой метаданных
04
Завершение процесса СУБД без проверки его активности — откат большой транзакции занимает больше времени, чем сама транзакция
05
Забытая блокировка регламентных заданий после загрузки — обмены и расчёты не выполняются, пока кто-то не заметит проблему

Проверка результата и профилактика

После снятия блокировки проверьте результат в три этапа. Сначала выполните вход в базу под обычной учётной записью пользователя — не только под администратором. Затем запустите типовую операцию: откройте документ, проведите его, сформируйте отчёт. Наконец, убедитесь, что регламентные задания выполняются по расписанию — в журнале регистрации не должно быть новых ошибок блокировок.

Чтобы проблема не повторялась, выработайте регламент: перед обновлением конфигурации или массовой загрузкой включайте блокировку сеансов с кодом разрешения и сообщением для пользователей, а после завершения — снимайте её в тот же рабочий день. Для автоматизации можно использовать пакетный запуск конфигуратора с параметрами /DisableStartupDialogs и скрипты управления кластером через RAC (консольную утилиту администрирования).

Если блокировки возникают регулярно без видимых причин — при загрузке данных, при проведении документов — это сигнал о проблемах в конфигурации или инфраструктуре: нехватке ресурсов сервера, неоптимальных запросах, избыточных управляемых блокировках. Такой случай требует анализа технологического журнала и, как правило, участия специалиста по 1С.

Контрольные точки

Как проверить, что блокировка снята корректно

Вход в базу под обычным пользователем
Норма

Вход выполняется без сообщений о блокировке

Тревожный признак

Появляется сообщение о запрете начала сеансов — флаг в свойствах базы не снят

Список сеансов в консоли кластера
Норма

Только реальные активные пользователи, время активности обновляется

Тревожный признак

Сеансы с давним временем активности — зависшие процессы не завершены

Журнал регистрации после загрузки
Норма

Нет ошибок конфликта блокировок

Тревожный признак

Ошибки «Конфликт блокировки при выполнении транзакции» — конкурирующие процессы продолжают работать

Выполнение регламентных заданий
Норма

Задания выполняются по расписанию

Тревожный признак

Задания стоят — осталась включённой блокировка регламентных заданий

Итог

Что важно запомнить

Сначала определите тип блокировки: установленная вручную снимается через свойства базы в консоли кластера, зависшие сеансы завершаются там же, файловая база освобождается завершением процессов и удалением 1Cv8.1CD.lck, а блокировки СУБД — через инструменты SQL-сервера. Для входа при включённой блокировке используйте код разрешения через параметр /UC. Любые принудительные действия выполняйте только при наличии резервной копии.

Частые вопросы

Что делать, если консоль кластера не открывается или требует пароль администратора, которого нет?

Если пароль администратора кластера не задан, консоль подключается без него. Если пароль установлен и утерян, его можно сбросить, остановив службу агента сервера 1С и очистив список администраторов в файле реестра кластера (каталог srvinfo, файл 1CV8Clst.lst редактируется штатными средствами только через консоль, поэтому корректный путь — обратиться к администратору сервера или переустановить настройки кластера). Права на такие действия должны быть согласованы с владельцем системы.

Можно ли снять блокировку без консоли кластера?

Да, через утилиту командной строки RAC из состава сервера 1С: она позволяет изменить свойства информационной базы и завершить сеансы. Также блокировку, установленную из конфигуратора, часто можно снять из того же конфигуратора через меню «Администрирование → Параметры информационной базы» в файловом варианте.

Почему блокировка появляется снова после каждого обновления конфигурации?

При обновлении конфигурации базы данных 1С автоматически включает блокировку начала сеансов и снимает её после успешного завершения. Если обновление прерывается ошибкой или конфигуратор закрывается принудительно, блокировка остаётся включённой. Проверяйте свойства базы в консоли кластера после каждого нештатного завершения обновления.

Опасно ли удалять файл 1Cv8.1CD.lck в файловой базе?

Безопасно только при условии, что ни один процесс 1С не работает с базой. Файл блокировок — служебный, он создаётся заново при следующем запуске. Но если удалить его при активном сеансе, работающий процесс продолжит удерживать базу, а механизм совместного доступа будет нарушен, что повышает риск повреждения данных при одновременном подключении второго пользователя.

Что значит ошибка «Конфликт блокировки при выполнении транзакции» при загрузке данных?

Это управляемая блокировка: загружаемые данные пересекаются с данными, которые в этот момент изменяет другой сеанс или фоновое задание. Это не неисправность, а штатный механизм защиты целостности. Повторите загрузку позже, уменьшите порцию данных или выполняйте её в период минимальной активности пользователей с отключёнными регламентными заданиями.

Нужно ли делать резервную копию перед снятием блокировки?

Само снятие флага блокировки или завершение пустого зависшего сеанса данных не изменяет. Но если планируется завершать активные сеансы, останавливать службы или завершать процессы СУБД — копия обязательна, потому что прерывание транзакции записи может оставить базу в несогласованном состоянии. Правило простое: любое принудительное действие — только после резервного копирования.