Произошло неожиданное прерывание проверки или исправления файла бд повторяющееся имя таблицы

Обновлено: 04.07.2024

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

Тестирование и исправление

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

Выбираем пользователя, вводим пароль если он имеется и нажимаем Войти.

На вкладке Администрирование, выбираем Тестирование и исправление.

И в окне с напоминанием о создании резервной копии, нажимаем Продолжить.

Откроется форма Тестирование и исправление информационной базы, где нам с вами нужно выбрать тип проверки и прочие режимы. Как правило, достаточно выбрать все варианты проверки, отметить пункт Тестирование и исправление, выбрать чуть ниже Не изменять в обоих случаях, проверить и просто нажать на кнопку Выполнить. Собственно, как и показано на скриншоте ниже.

Вот в целом и всё.

Стандартная утилита chdbfl

Если дела настолько плохи, что у вас нет доступа к режиму Конфигуратора, тогда можно воспользоваться стандартной утилитой с необычным названием chdbfl, представляющим из себя сокращение от фразы check database files или проверка файлов базы данных. Из названия сразу понятно, что данная утилита позволяет организовать проверку базы данных на наличие ошибок в обход Конфигуратора.

Утилиту Chdbfl не нужно скачивать отдельно т.к. она по умолчанию находится в папке с названием bin, которая находится в папке с установленной платформой 1С у нас на компьютере по стандартному пути C:\Program Files (x86)\1cv8. И более того, если вы захотите скачать её из интернета, то можете нарваться на какой-нибудь вирус и получить больше проблем. Итак, откроем папку с платформой 1С.

Далее заходим в папку bin.

И находим здесь утилиту с изображением цилиндра, галки и названием chdbfl.

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

Возвращаемся к окну утилиты и нажимаем на троеточие.

Вставляем путь к базе на верхней строке навигации, нажимаем Enter, выделяем файл 1Cv8 и нажимаем Открыть.

Внимательно перепроверим путь к файлу, отмечаем Исправлять обнаруженные ошибки и нажимаем Выполнить.

Появится статус о том, что Выполняется проверка файла базы данных.

После которой, либо ошибки будут исправлены, либо они не обнаружатся.

Вот в целом и всё.

Очистка кэша базы данных

Затем, выделяем проблемную базу и нажимаем Удалить.

И, собственно, подтверждаем удаление базы данных из списка.

Затем, перезапускаем платформу и нажимаем Добавить.

Выбираем Добавление в список существующей ИБ и нажимаем Далее.

Затем, нажимаем на троеточие.

Вставляем путь к базе на верхней строке навигации, нажимаем Enter, проверяем и нажимаем Выбор папки.

Перепроверяем указанный путь к базе, вводим название для базы и жмём Далее.

На последнем шаге можно просто оставить всё как есть и нажать Готово.

И база данных с отвязанным кэшем снова добавиться в список

Вот в целом и всё.

Жмём сразу Далее на второе окно, добавим параметр /ClearCache и жмём Готово.

Затем, собственно, просто запускаем базу данных и тестируем её поведение.

Вот в целом и всё.

Аналогичным образом, откроем вторую папку Local, которая находится по пути C:\Users\***\AppData\Local\1C\1cv8 вручную, или с помощью отдельной команды %LOCALAPPDATA%\1C\1Cv8, которую мы таким же образом копируем, вставляем в строку навигации Windows, нажимаем Enter и удалим такие же папки с кэшем.


Запустил тестирование без исправления.
Тестирование без исправления завершилось - вот такой результат:

"Поврежден заголовок файла базы данных
Повреждена таблица размещения внутреннего файла <Данные неограниченной длины таблицы 'CONFIG'>
Обнаружено рассогласование между данными и индексами таблицы 'CONFIG'
Во внутреннем файле данных таблицы имеются потерянные записи, не относящиеся к актуальным записям таблицы или списку удаленных записей 'CONFIG'
Обнаружено рассогласование между данными и индексами таблицы 'PARAMS'
Во внутреннем файле данных таблицы имеются потерянные записи, не относящиеся к актуальным записям таблицы или списку удаленных записей 'PARAMS'
Во внутреннем файле значений полей неограниченной длины имеются потерянные блоки, не относящиеся к значениям полей или списку свободных блоков 'PARAMS'
Повреждено содержимое внутреннего файла <Описание таблицы '_Enum8945OG'>
Повреждена таблица размещения внутреннего файла <Описание таблицы ''>
Повреждена таблица размещения внутреннего файла <Описание таблицы ''>
Повреждена таблица размещения внутреннего файла <Описание таблицы ''>
Повреждена таблица размещения внутреннего файла <Данные таблицы 'DBSCHEMA'>
Повреждена таблица размещения внутреннего файла <Данные таблицы 'DBSCHEMA'>
Повреждена таблица размещения внутреннего файла <Данные таблицы 'DBSCHEMA'>
Повреждена таблица размещения внутреннего файла <Данные неограниченной длины таблицы 'DBSCHEMA'>
Повреждена таблица размещения внутреннего файла <Данные неограниченной длины таблицы 'DBSCHEMA'>
Повреждена таблица размещения внутреннего файла <Данные неограниченной длины таблицы 'DBSCHEMA'>
.
много-много таких строк
.
Повреждена таблица размещения внутреннего файла <Данные неограниченной длины таблицы 'DBSCHEMA'>
Поврежден заголовок внутреннего файла <Описание таблицы ''>
Поврежден заголовок внутреннего файла <Описание таблицы ''>
Поврежден заголовок внутреннего файла <Описание таблицы ''>
Поврежден заголовок внутреннего файла <Описание таблицы ''>
Поврежден заголовок внутреннего файла <Описание таблицы ''>
Поврежден заголовок внутреннего файла <Описание таблицы ''>
Поврежден заголовок внутреннего файла <Описание таблицы ''>
Поврежден заголовок внутреннего файла <Описание таблицы ''>
Поврежден заголовок внутреннего файла <Описание таблицы ''>
Поврежден заголовок внутреннего файла <Описание таблицы ''>

oknosowibkoi.jpg


Рис. 1. Окно с ошибкой

В первую очередь, ОБЯЗАТЕЛЬНО(. ) сделайте копию поврежденной базы. Лучше сделать копию файла 1Cv8.1CD. Для этого необходимо перейти в каталог, где хранится база, скопировать ее и сохранить в любом для Вас удобном каталоге.

kopirovaniebazy.jpg


Рис. 2. Копирование базы

vstavkabazyvkatalog.jpg


Рис. 3. Вставка базы в каталог

После копирования базы, необходимо внутреннее тестирование. Для этого заходим в нашу базу через конфигуратор, переходим по вкладке “Администрирование” и нажимаем на “Тестирование и исправление”.

zapuskkonfig.jpg


Рис. 4. Запуск Конфигуратора

testiisprav.jpg


Рис. 5. Тестирование и исправление

Перед нами появляется окно тестирование и исправления информационной базы. Ставим галочки, как показано на рисунке 6 и запускаем тестирование.

zapusktestiisprav.jpg


Рис. 6. Запуск тестирования и исправления

После внутреннего тестирования необходимо провести еще и внешнее тестирование. Для этого мы закрываем конфигуратор и открываем утилиту chdbfl.exe. Она находится в папке с платформой, которая, как правило, находится в папке C:\Program Files (x86)\1cv8\8.3.10.2252\bin.

putkutilite.jpg

Рис.7. Путь к утилите

Запускаем данный файл, в поле “Имя файла БД” прописываем путь, где лежит наша база и ставим галочку “Исправлять обнаруженные ошибки, далее выполняем тестирование.

zapuskvnetest.jpg


Рис. 8. Запуск внешнего тестирования

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

Итак, перед нами "мёртвая" файловая база. Задача, которая стоит перед нами на текущий момент - всесторонне обследовать базу, составить максимально полный перечень проблемных мест (ошибок). Одной из распространённых ошибок у начинающих специалистов является следующая: они либо сразу и надолго "ныряют" в содержимое файла базы в hex-редакторе, пытаясь вручную разобраться в тоннах байт, что, естественно, через некоторое время вызывает эффект отторжения, либо, попробовав один какой-нибудь инструмент, и получив неудачу, выдают заключение: "База не подлежит ремонту". Лично я считаю, что к услугам hex-редактора нужно прибегать только в исключительных случаях, либо изредка, на минутку, например, чтобы своими глазами посмотреть содержимое, находящееся по определённому смещению.
А перечень инструментов и приёмов для получения информации о проблемных местах вообще довольно широк, причём даже сама платформа 1С предоставляет, как минимум, два штатных способа. Рассмотрим их поподробнее.

1. Утилита chdbfl.exe из поставки 1С:Предприятие. Запускаем её с установленной галкой "Исправлять обнаруженные ошибки".

Утилита chdbfl.exe

Сразу хочу оговориться, что на данном этапе эта утилита будет использоваться нами исключительно для диагностики, поэтому, даже если она и выдаст нам какой-то изменённый, якобы отремонтированный файл базы, мы не имеем на него каких-то видов, и просто "выкидываем". Однако, внимательно изучаем протокол работы и фиксируем перечень ошибок, найденных этой утилитой.
Например, "Поврежден заголовок файла базы данных" чаще всего означает просто некорректно записанную в нём длину файла в блоках, а не полное его разрушение (чтобы в этом убедиться, достаточно на пару секунд обратиться к hex-просмотрщику или редактору, если в начале файла сигнатура 1CDBMSV8 на месте, значит, проблема только в поле длины). "Повреждено содержимое внутреннего файла " означает, что в корневом объекте существуют "битые записи", с некорректными номерами блоков заголовков, либо с испорченными блоками заголовков. И так далее.

Пример файла ТЖ

1С:Предприятие начинает загрузку базы с чтения содержимого системных таблиц. Системными таблицами являются:
V8USERS - таблица с данными пользователей (для баз версий 8.2 и выше)
DBSCHEMA - схема (структура) БД
_USERSWORKHISTORY - история работы пользователей
_COMMONSETTINGS, _FRMDTSETTINGS, _REPSETTINGS, _REPVARSETTINGS, _SYSTEMSETTINGS - хранилища различных настроек
а также системные таблицы-каталоги:
PARAMS - содержит файлы с параметрами БД
FILES - содержит прочие системные (служебные) файлы
CONFIG - содержит файлы конфигурации БД. Здесь же, в файлах с названиями вида GUID.GUID хранятся конфигурации поставщика (отсутствие таковых является нормальной ситуацией, означающей, что либо конфигурация полностью совпадает с типовой (не включен режим изменения), либо она снята с поддержки, либо является самописной).
CONFIGSAVE - содержит файлы основной конфигурации. Отсутствие записей в ней является нормальной ситуацией, означающей, что основная конфигурация полностью совпадает с конфигурацией БД. Стоит отметить, что здесь могут содержаться не все файлы конфигурации, а только изменённые (отличающиеся от файлов конфигурации БД).
Системные таблицы-каталоги являются, по сути, аналогами каталога в обычной файловой системе, т.е. являются хранилищем некоторого набора файлов, и имеют следующие поля:
FILENAME - имя файла
CREATION/MODIFIED - дата создания/изменения
ATTRIBUTES - атрибуты
DATASIZE - размер файла
BINARYDATA - содержимое файла (двоичные данные)


Теперь мы понимаем, что записи в ТЖ типа
22:42.0169-1,DBV8DBEng,2,process=1cv8,Trans=0,Func=selectFileName,FileName=ibparams.inf
22:42.0170-3,DBV8DBEng,1,process=1cv8,Trans=0,Func=readFile,CatName=Params,FileName=ibparams.inf
означают чтение файла "ibparams.inf" из таблицы PARAMS.


3. Открываем нашу базу при помощи утилиты Tool_1CD. Здесь мы можем просмотреть таблицы, а также их содержимое (данные записей), причём для системных таблиц (DBSCHEMA, PARAMS и т.д.) поддерживается автоматическая распаковка содержимого BLOB-полей, вплоть до показа содержимого упакованных контейнеров (в таблицах CONFIG и CONFIGSAVE). Наиболее пристальное внимание уделяем тем проблемным объектам, которые были нами найдены по результатам действий из пунктов 1 и 2, а также системным таблицам (хотя, зачастую список проблемных объектов, составленный по п. 1 и 2, ограничивается именно системными таблицами).

Просмотр содержимого таблиц в Tool_1CD


При просмотре перечня таблиц смотрим, есть ли таблицы с окончаниями "OG" - их наличие означает, что крах базы произошёл при ТиИ или реструктуризации (в процессе выполнения этих операций 1С создаёт новые таблицы с такими окончаниями, куда пишутся данные реструктуризованных таблиц, затем исходная таблица удаляется, а новой назначается исходное имя). Также бывает полезно сравнить перечень таблиц с содержимым старого бэкапа (при его наличии, и при условии, что конфигурация не обновлялась, иначе состав таблиц, связанных с метаданными, конечно, будет различаться), это поможет выявить отсутствующие таблицы.
При просмотре таблицы CONFIG обращаем внимание, есть ли в ней файлы с окончаниями ".new" - их наличие означает, что крах базы произошёл при обновлении конфигурации БД.
Также утилита позволяет сохранить конфигурацию БД в cf-файл, что и рекомендуется сделать. Загружаем далее эту конфигурацию из файла в пустую базу, и пробуем запустить. Если всё запустилось успешно, значит, проблема нашей базы не в конфигурации.

Просмотр содержимого таблиц в ViewRecords.epf

5. Загрузка базы в систему восстановления баз 1С restoration-base-1c8. По состоянию дел на текущий момент, в данном продукте многие функции не реализованы, а некоторые, на мой взгляд, реализованы не совсем прозрачно. Кроме того, практически вся смысловая обработка данных происходит на стороне 1С, что далеко не лучшим образом сказывается на быстродействии. Например, у меня полная загрузка файла размером 230 Мб длилась около часа, за это время я уже всесторонне обследовал базу другими инструментами, и приступил к непосредственному ремонту. Окончания же загрузки файла размером 1,5 Гб я вообще не дождался - закончилось терпение. Ещё один нюанс: поскольку система является конфигурацией для 1С, то все данные исходной базы загружаются также в базу 1С, но оказываются они в табличной части одного справочника. Следовательно, даже не принимая во внимание скорость загрузки, в случае файловой базы не получится загрузить файл с исходной базой размером более 4 Гб (из-за ограничений формата). Тем не менее, проект является свободным, с открытым кодом, доступным для изменения и доработки, поэтому не могу не упомянуть про него.

Загрузив нашу базу в систему restoration-base-1c8, мы можем иследовать список таблиц:

Система restoration-base-1c8 - основное окно

а также просмотреть и отредактировать данные любого блока во встроенном hex-редакторе:

Система restoration-base-1c8 - редактирование содержимого блока

Просмотр записей таблиц, к сожалению, не реализован.

На этом наш список, а также сам этап обследования заканчивается. Аккуратно фиксируем и систематизируем всю собранную информацию, которую мы будем использовать далее, в процессе "лечения". Конкретные, наиболее типичные проблемные ситуации и способы их устранения будут рассмотрены в следующих статьях.

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

Бухэксперт8 при работе с базой данных рекомендует делать архивные копии 1С не реже 1 раза в месяц, а также перед выполнением исправлений в базе и после закрытия месяца.

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


Причины, вызывающие эту ошибку, могут быть совершенно разными:

  • несовместимая версия файла базы данных;
  • файл базы данных поврежден;
  • ошибка соединения с сервером 1С: Предприятия 8.3;
  • переустановка баз на сервере;
  • проблема с портами на сервере
  • и т.д.

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

Как правило, ошибка при выполнении операции с информационной базой в файловом режиме работы означает, что произошло повреждение файла базы данных. Причин может быть множество:

  • сетевые проблемы при записи файла;
  • неудачное копирование базы;
  • отключение электропитания в момент работы программы;
  • и т.д.

В данной статье мы рассмотрим возникновение этой ошибки для пользователей файловых 1С и дадим два инструмента решения проблемы:

Обязательно сохраните поврежденный файл базы данных перед началом исправления ошибок, так как любые изменения структуры при тестировании имеют необратимый характер. Сделать копию можно обычным копированием файла 1Cv8.1CD.


Тестирование и исправление

Внутренняя обработка 1С Тестирование и исправление проверяет и исправляет структуру конфигурации и информационных данных.

Пошаговая инструкция Тестирования и исправления базы.

Шаг 1. Запустите 1С в режиме Конфигуратор .


Шаг 2. В конфигурации выберите пункт меню Администрирование — Тестирование и исправление .


Перед открытием формы тестирования программа напомнит о необходимости сделать копию базы перед проверкой. Если копия сделана — нажимаете на кнопку Продолжить .


Шаг 3. Настройка тестирования.

Форма тестирования предлагает несколько вариантов проверок и режимов, не зависящих друг от друга. Выполнить нужно все проверки в полном объеме, поэтому установите флажки напротив тех вариантов, где они не поставлены по умолчанию.

Форма тестирования и исправления информационной базы должна иметь следующий вид.


Рассмотрим основные группы переключателей проверки.

Группа переключателей Проверки и режимы

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

Проверка информационной базы:

  • проверка логической целостности информационной базы;
  • проверка ссылочной целостности информационной базы.

Коррекция обнаруженных ошибок:

  • реиндексация таблиц информационной базы;
  • пересчет итогов;
  • сжатие таблиц информационной базы;
  • реструктуризация таблиц информационной базы.

Группа переключателей Тестирования

Варианты тестирования:

  • Тестирование и исправление;
  • Только тестирование.

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

Группа При наличии ссылок на несуществующие объекты

Эта группа определяет, должна ли программа при обнаружении ссылок на несуществующие объекты:

  • создавать объекты;
  • удалять ссылки;
  • не изменять.

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

Группа переключателей При частичной потере данных объектов

Эта группа задает поведение программы, если было обнаружено, что данные объектов были частично потеряны, но оставшихся данных достаточно для того, чтобы восстановить потерянные. Пользователь самостоятельно выбирает вариант:

  • создавать объекты;
  • удалять объект;
  • не изменять.

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

Кнопка Выполнить

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

  • Значение должно быть… Сохранено значение…


Утилита chdbfl.exe

Утилита chdbfl.exe отвечает за проверку физической целостности базы. Именно она спасает пользователей в большинстве случаев при невозможности входа в базу данных.

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


Пошаговая инструкция работы с утилитой chdbfl.exe.

Определение Платформы 1С

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


Место установки Платформы на компьютере зависит от ее разрядности:

  • 32-разрядные Платформы 1С устанавливаются в каталог С:\Program Files (x86)\1cv8\
  • 64-разрядные Платформы 1С устанавливаются в каталог С:\Program Files\1cv8\

Запуск утилиты chdbfl.exe

В выбранной Платформе 1С перейдите в папку bin и запустите утилиту chdbfl.exe.


Настройка проверки базы данных


Для настройки проверки физической целостности необходимо:

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

После нажатия на кнопку Выполнить запустится проверка физической целостности файла БД.

Программа 1С при выполнении проверки должна быть закрыта у всех пользователей. Сохранение копии базы — обязательное условие перед проверкой.


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

  • 1С удаление: указанная учетная запись уже существует
  • Установка запрещена на основании системной политики 1С 8.3
  • Обнаружено неправомерное использование данного программного продукта в 1С: как убрать
  • Ошибка ввода пинкода. Пинкод не укомплектован в 1С 8.3
  • Печатная форма недоступна 1С 8.3 при вызове внешней печатной формы

Помогла статья?

Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно

Похожие публикации

Карточка публикации

(1 оценок, среднее: 1,00 из 5)

Данную публикацию можно обсудить в комментариях ниже.
Обратите внимание! В комментариях наши кураторы не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно по ссылке >>
Вы можете задать еще вопросов

Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8

Вы можете оформить заявку от имени Юр. или Физ. лица Оформить заявку

Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>

Читайте также: