Проанализируем ситуацию, с которой часто сталкиваются специалисты при попытке обновить или открыть информационную базу 1С. При запуске Конфигуратора платформа запрашивает подтверждение на конвертацию информационной базы, после чего вылетает с сообщением: «Ошибка СУБД: Действие может быть выполнено только в исключительном режиме доступа 'C:\1с\...\1Cv8.1CD'». Если же попытаться запустить базу в режиме «1С:Предприятие», система выдает ошибку SDBL: «В схеме базы данных нет таблицы с именем SystemSettings».
Разберем подробнее, почему возникают эти ошибки и какими шагами можно восстановить работоспособность базы данных.
Выясним причину поведения платформы. Подобный сбой происходит в результате комбинации следующих факторов:
8.0 сразу на платформу 8.3. Механизмы реструктуризации платформы 8.3 не могут корректно перестроить внутренние таблицы устаревшего файла 1Cv8.1CD.SystemSettings (используемая для хранения настроек пользователей) была введена в платформе 8.2. При незавершенном прямом переходе с 8.0 на 8.3 схема базы остается в промежуточном или поврежденном состоянии. Движок версии 8.3 при запуске обращается к таблице SystemSettings, не находит ее и блокирует работу.Если база данных изначально работала на платформе 8.0, переводить ее на 8.3 необходимо только последовательно через промежуточные версии релизов. Разберем по шагам правильный порядок действия:
8.1.15). Откройте базу в Конфигураторе 8.1 и подтвердите конвертацию структуры файла из формата 8.0 в 8.1.8.2.19). Запустите Конфигуратор платформы 8.2, добавьте базу в список и выполните штатный переход из формата 8.1 в 8.2.Посмотрим на ситуацию, когда платформа 8.3 уже попыталась изменить файл базы, и теперь старые версии (8.0 или 8.1) выдают ошибку «Несовместимая версия файла базы данных». В этом случае требуется вручную вернуть правильный заголовок файла 1Cv8.1CD:
1Cv8.1CD.1Cv8.1CD в любом шестнадцатеричном (HEX) редакторе (например, WinHex или Notepad++ с HEX-плагином).1CDBMSV8 перейдите к адресам с 0x08 по 0x0B. Эти 4 байта хранят информацию о версии формата базы.0x08 для платформы 8.0 или 8.1, чтобы вернуть корректную идентификацию формата.Чтобы избавиться от сообщения «Действие может быть выполнено только в исключительном режиме доступа», убедитесь, что дескриптор файла базы не удержан операционной системой:
.cdn в каталоге базы данных, если он присутствует.1cv8.exe или 1cv8c.exe и завершите их.1Cv8.1CD в новую чистую папку с коротким путем (например, C:\Base1C\) и добавить базу в список заново.Если штатные средства тестирования и исправления (утилита chdbfl.exe) не помогают, а запуск в конфигураторе невозможно выполнить из-за поврежденной таблицы SystemSettings, примените вариант переноса данных через пустую базу:
.cf), аналогичную той, которая использовалась в исходной базе.1Cv8.1CD для выгрузки таблиц с данными из поврежденной базы.