Polytech-soft.com

ПК журнал
14 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Ошибка структура базы данных имеет ошибки

После обновлений ошибка «структура базы данных имеет ошибки»

Добрый день! Обновил движок и возникла проблема

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

Пробовал «Оптимизация БД» и «Проверка БД» ничего не помогает.
Кто знает как исправить. Спасибо.

Цитата
Ирина Боброва написал:
Всем добрый вечер! Столкнулись с проблемой: Структура базы данных Ошибка! Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 2, нет индексов: 0). Всего 2, автоматически могут быть исправлены: 0.
Может кто победил данную проблему, отпишитесь пожалуйста.

у вас картинки тоже перестали загружаться новые?

В общем эта проблема решается выполнением SQL запроса к базе данных через интерфейс Битрикса

Код

В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP»

ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;

ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` datetime NULL DEFAULT NULL ;

при выполнении данного запроса:
Запрос завершен, изменено 0 записей. (0.010 s)

Скажите пожалуйста, кто сталкивался с данной ошибкой

Цитата
SkyNetYar написал:
В общем эта проблема решается выполнением SQL запроса к базе данных через интерфейс Битрикса

Код

Не помогло( при этом запрос выполняется успешно), что ещё можно сделать?

Цитата
2016-Sep-06 21:27:40 Структура базы данных (check_mysql_table_structure): Fail ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP; Ошибка! Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 1, нет индексов: 0). Всего 1, автоматически могут быть исправлены: 0.

Выполните запрос к базе данных (Настройки > Инструменты > SQL запрос)

Цитата
ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;
Цитата
SkyNetYar написал:
ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;

Не проходит.
Ошибка во время выполнения запроса:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘ALT ER TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` timestamp NOT NULL DEFAULT C’ at line 1!

После отключения Автокомпозита прошел запрос и ошибка ушла.

Код

После обновления системы, при попытке полного тестирования системы проявляется ошибка
Структура базы данных — Ошибочный ответ сервера. Не удалось завершить тестирование.
В логах Журнала проверки системы следующее ()

В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «datetime NOT NULL
Структура базы данных (check_mysql_table_structure): Ok
41% done
Структура базы данных (check_mysql_table_structure): Ok
45% done
на 45% проверка останавливается и дальше не идет.

По поводу b_user_hit_auth поле TIMESTAMP_X
я проверил, что
В файле /bitrix/modules/main/install/mysql/install.sql

строка выглядит так как нужно —
INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

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

Пожалуйста, подскажите что можно предпринять?
Сразу отпишусь по результатам.

Ошибка SDBL 1С 8.3

Помощь персонального менеджера, оперативность сдачи отчетности, соответствие законодательству РФ

  • Исключение «простоев» работы сотрудников;
  • Устранение «плохих» блокировок;
  • Устранение таймаутов, диадоков, длительных запросов;
  • Управляемые блокировки.

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

Исправление ошибки SDBL в 1С

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

  • Ошибка при полнотекстовом индексировании;
  • Попытка вставки значения недопустимого типа;
  • Поле таблицы не может принимать значение NULL;
  • Ожидается выражение (pos = );
  • Пропущена точка с запятой;
  • Выход за пределы размерности;
  • Поле определено неоднозначно.

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

  1. Очистка КЭШа на сервере и компьютере пользователя, где появилась ошибка. Необходимо выйти из 1С, найти все папки с названиями типа «bd5c8ea4-b65f-4c23-a9c8-2dccfb0b15fa» в папке «Application Data» и удалить их;
  2. Перезагрузка сервера приложений 1С. Также может помочь включение и выключение всех связанных сервисов – SQL и его агента. Заходим на сервер, находим службу «Агент сервера 1С» и останавливаем ее с помощью контекстного меню. Аналогично поступаем со службами «SQL Server» и «Агент SQL Сервера» на сервере SQL. Затем включаем в обратной последовательности;
  3. Механизм «Тестирование и исправление ИБ», доступный в конфигураторе. В нужной информационной базе заходим в «Администрирование» — «Тестирование и исправление. » и запускаем процесс;
  4. Выгрузка базы данных в файл формата DT и загрузка его обратно в ту же информационную базу. Также выполняется в режиме конфигуратора через меню «Администрирование». Используются команды «Выгрузить информационную базу. » и «Загрузить информационную базу. »;
  5. Загрузка из резервной копии, если она сделана недавно. Резервные копии необходимо делать регулярно и дополнительно перед каждым серьезным действием с информационной базой. Резервные копии можно делать с помощью SQL MS или конфигуратора через выгрузку файла формата dt;
  6. Обновление платформы до более новой версии с официального портала ИТС. Необходимо скачать с сайта ИТС последний релиз платформы и установить на сервере и клиентских компьютерах.

Если все эти методы не дали результата, то для клиент-серверного варианта базы 1С можно попробовать очистить таблицы _ConfigChngR_ExtProps и _ConfigChngR. Делать это доверьте профессионалу, умеющему работать с MSSQL. В подавляющем большинстве случаев один из этих методов обязательно поможет. Если же ошибка осталась, и у вас нет резервной копии, следует обратиться к профессионалам за помощью.

Восстановление структуры DBSchema

Ситуация

Маленькая файловая база Бух3, учёт ведется 4 года, во время очередного обновления вылетает конфигуратор, при повторной попытке обновления имеем сообщение о невозможности применить изменения конфигурации.

Стандартный алгоритм действий:

  1. Долго себя ругаем за лень при создании архива перед обновлением;
  2. Откатываем конфигурацию на версию БД. При попытке запустить базу – ошибка, что таблица такая-то не найдена и вылет;
  3. Конфигуратор – тестирование и исправление, опять ошибка, что таблица такая-то отсутствует и невозможность ремонта;
  4. Попытка залить предыдущую типовую конфигурацию – опять критическая ошибка SDBL ;
  5. Последняя попытка – выгрузка базы в DT , проходит частично и вылетает. При загрузке DT – получаем базу с 90% пустых таблиц и сохранившейся ошибкой при тестировании и исправлении.
  6. С удивлением узнаем, что у админа нет архивных копий от слова совсем;
  7. Осознание того, что проблема серьезная и требуется помощь. Отправка запроса в 1С и замечательный ответ о том, что ваша база разрушена, поэтому восстановите базу из архивной копии и будет вам хорошо.
  8. Гуглим, находим “ Tool 1 CD ”, с горечью осознаём, что с версией 8.3.8 он работает только на чтение. Вывод – что-то чинить можно в режиме SQL .
  9. Загружаем базу из ранее выгруженного DT . Получаем те же проблемы, но на этот раз можно использовать Profiler и, например, создать недостающие таблицы, поля.
  10. Некоторое время закрываем проблемы по отсутствующим полям на SQL , пока не получаем вот такое сообщение

    При условии работающей базы, мы вполне можем узнать что это за регистр, но работающей базы у нас нет, от слова совсем.
  11. Опять гуглим на предмет: «А что такое схема базы данных», и вот тут информация крайне скудная. Официальная трактовка от 1С:
  12. Открываем эту табличку в SQL , это бинарные данные. Выгружаем их в файлик, открываем его Notepad ++ и видим набор массивов с описанием полей базы:

    Попытка найти информацию о том, что же это всё такое – результат нулевой. Ок, значит разбираться придётся самому. Перечитывание нескольких статей на инфостарте даёт понимание необходимости просмотра также данных сопоставление объектов конфигурации в файлике DBNames и самой конфигурации 1С.
  13. Проблема, как найти идентификаторы объектов конфигурации 1С, решилась выгрузкой конфигурации в XML . Предварительно файл cf был выгружен с помощью Tool 1 CD и загружен в чистую базу на SQL .
  14. Далее путем поиска таблицы в DBNames получаем её идентификатор, и ищем по нему в каталоге с выгруженной конфигурацией XML . Находим, удаляем объект в конфигураторе, снова попытка сохранения – другая ошибка, на другую таблицу… в общем повторяем итерацию в надежде вылечить базу до тех пор, пока не получаем вот такую ошибку:
  15. И это серьезная засада, потому как непонятно что ещё можно удалить из конфигуратора. Можно конечно запустить Profiler и найти на какую таблицу он ругается. Но в конце концов это всё закончилось такой ошибкой на поле Fld 793 (ОбластьДанныхОсновныеДанные), и по профайлеру всё останавливается после проверки таблицы журналов и всё, вылетает.
  16. В итоге приходим к выводу, что «скотчем и соплями» проблему не решить, и придётся подходить к вопросу системно.

Инструментарий

  1. Загрузка/выгрузка данных из DBSchema и DBNames (используя алгоритм Deflate);
  2. Загрузка схемы объекта из чистой эталонной базы, автозамена реквизитов объекта на наши. Добавление/замена схем объектов в DBSchema ;
  3. Проверка и автоматическое(не все) создание недостающих схем объектов, проверка реквизитов в таблице DBNames ;
  4. Реструктуризация таблиц SQL , добавление/замена полей(не все);
  5. Загрузка в таблицы SQL , выгруженные из файловой базы с помощью Tool 1CD

upd. 2019.07.13 — Добавлена интеграция с обработкой //infostart.ru/public/275315/. Подключаемся к «убитой» базе, читаем список таблиц и загружаем напрямую нужные таблицы в SQL

Причины купить

Экономия собственного времени на решение подобной задачи

Достоинства

Обработка предназначена ТОЛЬКО для программистов 1С. Написана под конкретные проблемы конкретной базы. Автоматически восстанавливаются схемы Справочников, Документов, Журналов документов, Регистров сведений, Регистров накопления, Констант, Перечислений, Регламентных заданий. остальные объекты править ручками, либо писать код по аналогии с моим.

Типовые битрикс ошибки

1.Duplicate entry ‘H1vyYZlZDAeRMeZJ76uKHWozRqctgvK1’ for key ‘PRIMARY’
Нужно снести содержимое базы и заново попытаться восстанавливать сайт из резервной копии, также нужно посмотреть включено ли хранение сессий в отдельной базе данных в настройках расширенного режима безопасности группы администратор, отключить такую настройку.

2. Превышен лимит на размер базы данных
На виртуальном хостинге есть ограничения размеров базы данных. Если размер базы превысит лимит, вам начнут высылаться уведомления. При превышении максимального размера высылается предупреждение с последующей блокировкой до момента устранения проблемы. В этом случае нужно или повысить тариф, или смотреть содержимое базы. В моем случае таблицы b_event_log — много места занимала, b_event — очень много было, b_captcha — также много было. Нужно войти в Phpmyadmin и в базе очистить указанные таблицы.

3. Allowed memory size of
Откройте файл php.ini и найдите там строку: memory_limit = 256M, увеличьте значение (для тарифов виртуального хостинга есть ограничения)

4. Cannot use BitrixMainTextString as String because ‘String’
нет обновлений битрикс для используемой версии РНР, обычно проблема возникает при восстановлении сайта на другом хостинге. Пробуйте начать с версии РНР 5.6

5. DB query error. Please try later
Обычно ошибка доступа к базе данных
1) Открой файл /bitrix/php_interface/dbconn.php и вставь в самый низ файла строку $DBDebug=true;

6. max_input_vars
В файле .htaccess задайте php_value max_input_vars 10000, но не всегда помогает для изменения данной директивы необходимо отредактировать файл php.ini: max_input_vars = 10000

7. Maximum execution time of 60 seconds exceeded
Могут помочь такие варианты:
1) после внесения изменений в php.ini требуется рестарт apache.
2) если определена переменная set_time_limit в файле /bitrix/php_interface/dbconn.php то она имеет приоритет по сравнению с тем что хранится в php.ini в max_execution_time
3) ошибка может возникать из-за нехватки значения параметра memory_limit(также определяется в этих файлах)

8. MySQL server has gone away
В процессе выполнения запроса сервер оборвал соединение. Проблема связана с настройкой MySQL и часто возникает когда на сервере установлен небольшой лимит времени на соединение.
Установите в bitrix/php_interface/after_connect.php:
$DB->Query(«SET wait_timeout=28800»);

9. opcache.revalidate_freq для битрикс
Мне помогает связка в файле .htaccess, особенно на тарифе host-0 reg.ru, который не сильно подходит для битрикс тарифа:
php_value opcache.revalidate_freq 0
php_value max_input_vars 10000
php_value default_socket_timeout 60
Также помогает переход на РНР 7.0

10. Query Error SET LOCAL time_zone
на виртуалке битрикс
$DB->Query(«SET LOCAL time_zone=’».date(‘P’).»‘»);

11. Кодировка таблицы (cp1251) отличается от кодировки базы (utf8)
Для той таблицы на которую указывает ошибка потребуется выполнить ряд SQL запросов в базе данных:
ALTER TABLE имя_таблицы CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ciДля смены кодировки таблиц выполните, пожалуйста, запрос для каждой таблицы:
ALTER TABLE имя_таблицы CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

12. Ошибка больших файлов импорта
Потребуется увеличить лимиты размера файлов в файле php.ini.

13. Ошибка! Структура базы данных имеет ошибки- поля отличаются
Смотрим название таблиц в логах
Перейдите, пожалуйста, в sql-строку (Настройки > Инструменты > SQL запрос) и там выполните запрос:
ALTER TABLE `b_ticket` MODIFY `TITLE` varchar(255) NOT NULL ;
ALTER TABLE `b_ticket` MODIFY `OWNER_SID` varchar(255) NULL DEFAULT NULL ;
ALTER TABLE `b_ticket` MODIFY `LAST_MESSAGE_SID` varchar(255) NULL DEFAULT NULL ;
ALTER TABLE `b_ticket` MODIFY `SUPPORT_COMMENTS` varchar(255) NULL DEFAULT NULL ;

После этого переустановите (удалить и снова установить) модуль поиска без сохранения
таблиц (Настройки-Настройки продукта-Модули).

Затем нужно выполнить полную переиндексацию. Для этого в административной части сайта перейдите,
пожалуйста, в «Настройки > Поиск > Переиндексация». Снимите галочку «Переиндексировать только измененные»,
установите шаг, например, 10 секунд и нажмите кнопку «Переиндексировать».

Ещё статьи:

31.03.2020 Где искать редирект в Битриксе?
Как найти причину редиректа средствами битрикс. При попытке добавить сайт, его редиректом перекидывает на основной сайт.
ID: 223

31.03.2020 Зависает установка сайта Битрикс при многосайтовости
При установке сайта при многосайтовости зависает на 0%, и ничего не происходит, ошибок не выдаёт. Причина оказалась довольно простая. ID: 222

07.03.2020 Мифы про дорогих Битрикс программистов
Есть навязываемый миф о дорогих Битрикс программистах. На самом деле цена на услуги специалиста напрямую зависит от уровня его навыков в не зависимости. ID: 220

Новые статьи в блоге:

25.02.2020 Ошибка агента eval()’d. Как отключить агенты если сайт не работает?
Словил как-то ошибку связанную с отработкой агента. сайт полностью перестал работать и админка тоже. Возник вопрос как отключить агенты в таком случае. ID: 218

17.01.2020 Когда битрикс г*вно, а SEO специалист «Бог»
Я теперь понял откуда ноги растут про кривой битрикс. Всё дело в кривых специалистах. Вот один характерный случай. ID: 216

Читать еще:  Ошибка 0х800ссс0е outlook
Ссылка на основную публикацию
Adblock
detector