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

 

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

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

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

 

Обратится в техническую поддержку, предоставив сразу доступ к сайту, ребята вам помогут, заодно посмотрят причину возникновения данной ситуации.

 

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

 

Пользователь 397329

Заглянувший

Сообщений: 3
Регистрация: 19.10.2015

#4

0

22.11.2015 01:33:59

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

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

 

И у меня такая проблема. Подскажите в какую сторону копать

 
 

В этом файле уже как в исправленном варианте, проблема остается,как исправить?

 

Пользователь 497563

Постоянный посетитель

Сообщений: 196
Баллов: 16
Регистрация: 18.02.2016

#8

3

25.05.2016 10:30:51

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

Код
ALT ER   TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` datetime NULL DEFAULT NULL ;
 

Ошибка:

В таблице 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)

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

 

Пользователь 363586

Заглянувший

Сообщений: 2
Регистрация: 25.07.2015

#10

0

06.09.2016 21:32:09

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

Код
 ALT ER   TABLE `b_user_hit_auth` MODIFY `TIMESTAMP_X` datetime NULL DEFAULT NULL ;
 

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

Цитата
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-файлах. Обычно это возникает при установке обновлений.

На что эта ошибка влияет?

В большинстве случаев ошибки структуры не влияют на работу сайта, т.к. содержат незначительные различия.

Но иногда проблемы бывают серьезные — например, из-за различий в кодировке и др.

Как исправить ошибку?

В большинстве случаев ошибка исправляется автоматически, при нажатии на ссылку «Исправить». При этом структура переносится из файлов в БД. К примеру, если в установочном sql-файле некоторое поле имеет тип longtext, а в БД оно имеет тип text, то в процесс автоматического исправления тип поля в БД станет longtext.

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

В таблице b_adv_contract поле KEYWORDS «`KEYWORDS` longtext NULL DEFAULT NULL» не соответствует описанию на диске «`KEYWORDS` text NULL DEFAULT NULL»

Требуется наша помощь?

Мы имеем огромный опыт, на протяжении почти 15 лет помогая клиентам в решении самых различных проблем на их сайтах, в т.ч. самых сложных.

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

В админке вылезает  строка на зеленом фоне:
Обнаружены ошибки в работе сайта. Проверить и исправить.

После проверки получаем:
Структура базы данных Ошибка! Структура базы данных имеет ошибки. Всего 15, автоматически могут быть исправлены: 0.

Подробности в журнале проверки системы.:
Пятнадцать однотипных строк:
В таблице b_user_index_selector поле SEARCH_SELECTOR_CONTENT «`SEARCH_SELECTOR_CONTENT` mediumtext NULL DEFAULT NULL» не соответствует описанию на диске «`SEARCH_SELECTOR_CONTENT` text NULL DEFAULT NULL»
В таблице b_option_site поле VALUE «`VALUE` mediumtext NULL DEFAULT NULL» не соответствует описанию на диске «`VALUE` text NULL DEFAULT NULL»

внизу есть список (видимо, запросов к базе данных — для исправления этих ошибок)

ALT ER   TABLE `b_user_index_selector` CHANGE `SEARCH_SELECTOR_CONTENT` `SEARCH_SELECTOR_CONTENT` text NULL DEFAULT NULL;
ALT ER   TABLE `b_option_site` CHANGE `VALUE` `VALUE` text NULL DEFAULT NULL;

——
У нас сайт ещё на гарантии, обратились с этим вопросом к разработчикам сайта, получили ответ:
«…если эти итоги проверки системы не влияют на работу функционала сайта, то не считаю этот запрос гарантийным»
(типа, когда помрёте — тогда и приходите)

Сайт, действительно, пока работает.

Вопрос к общественности:
Что с этим делать?
Оставить как есть или добиваться чтобы ошибок не было?
Самостоятельно лезть в базу не хочется, боюсь что-нибудь поломать или с гарантии слететь.

07.07.2018

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 секунд и нажмите кнопку «Переиндексировать».

Как исправить ошибку «Ошибка! Структура базы данных имеет ошибки»

Почему появляется ошибка?

Данная ошибка появляется в случае, когда структура базы данных не совпадает со структурой, расположенной в установочных sql-файлах. Обычно это возникает при установке обновлений.

На что эта ошибка влияет?

В большинстве случаев ошибки структуры не влияют на работу сайта, т.к. содержат незначительные различия.

Но иногда проблемы бывают серьезные — например, из-за различий в кодировке и др.

Как исправить ошибку?

В большинстве случаев ошибка исправляется автоматически, при нажатии на ссылку «Исправить». При этом структура переносится из файлов в БД. К примеру, если в установочном sql-файле некоторое поле имеет тип longtext, а в БД оно имеет тип text, то в процесс автоматического исправления тип поля в БД станет longtext.

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

В таблице b_adv_contract поле KEYWORDS «`KEYWORDS` longtext NULL DEFAULT NULL» не соответствует описанию на диске «`KEYWORDS` text NULL DEFAULT NULL»

Требуется наша помощь?

Мы имеем огромный опыт, на протяжении 10 лет помогая клиентам в решении самых различных проблем на их сайтах.

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

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

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

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

Ошибка! Структура базы данных имеет ошибки (нет таблиц: 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

Способы исправления ошибок, выявленных при полном тестировании системы в 1С-Битрикс

Модули веб-сервера

Ошибка: Загружен модуль mod_dav/mod_dav_fs, WebDav не будет работать
Решение: Удалите файл /etc/httpd/conf.modules.d/00-dav.conf

Размер стека и pcre.recursion_limit

Ошибка: Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений
Решение: Как правило, для корректной работы 1С-Битрикс требуется снижение значения pcre.recursion_limit до 1000. Для этого нужно прописать правило в файле php.ini или в .htaccess, если у вас виртуальный хостинг и нет доступа к настройкам сервера.

VDS хостинг

  1. В файле /etc/php.d/bitrixenv.ini изменим параметр:
    pcre.recursion_limit=100000
  2. В скрипте запуска сервера HTTP Apache /etc/rc.d/init.d/httpd изменим функцию start(), добавив в нее одну строку ulimit -s unlimited
  3. В итоге должно получиться примерно следующее:
    start() {
      echo -n $"Starting $prog: "
      ulimit -s unlimited
      LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
      RETVAL=$?
      echo
      [ $RETVAL = 0 ] && touch ${lockfile}
      return $RETVAL
    }

Виртуальный хостинг

Для виртуального хостинга в файле .htaccess

php_value pcre.recursion_limit 100000

Режим работы MySQL

Ошибка: innodb_strict_mode=ON, требуется OFF
Решение: После обновления 1C-Битрикс, а конкретно модуля main 19.0.400 добавилась новая проверка. Исправление выйдет в следующих версиях BitrixVM. А сейчас можно исправить так:

Вариант 1

  1. Подключиться к серверу под root
  2. Открыть один из файлов (у всех могут быть разные, варианты)
    • /etc/my.cnf
    • /etc/alternatives/my.cnf
    • /etc/bitrix-my.cnf
  3. Добавить строку в блоке # InnoDB parameters
    innodb_strict_mode = OFF

Вариант 2

  1. В файл after_connect.php добавить:
    $DB->Query("SET innodb_strict_mode='OFF'");
  2.  В файл after_connect_d7.php добавить:
    $connection->queryExecute("SET innodb_strict_mode='OFF'");

Структура базы данных

Ошибка: В таблице b_search_content_stem поле STEM «varchar(50) NOT NULL» не соответствует описанию на диске «int(11) NOT NULL»
Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

Ошибка: В таблице b_search_content_freq поле STEM «varchar(50) NOT NULL DEFAULT «» » не соответствует описанию на диске «int(11) NOT NULL DEFAULT «0» «
Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

Ошибка: Структура базы данных: Ошибочный ответ сервера. Не удалось завершить тестирование.
Решение: В файле /bitrix/modules/main/install/mysql/install.sql найти строку:

INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD)

и заменить на:

INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

Ошибка: В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP»
Решение: Выполнить запрос в Настройки → Инструменты → SQL запрос:

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

При переносе сайта на Битрикс с VPS на другую сервис у ряда людей могут возникнуть проблемы при мониторинге системы. Баг «Ошибочный ответ сервера. Не удалось завершить тестирование» может возникнуть при мониторинге в «Структура базы данных». Эта ошибка выскакивает и при переносе на другие сервера, при обновлениях системы. Она появилась именно после обновления ядра системы 1С˗Битрикс до версии 15.5.9. При работе на локальной машине либо через режим «Инкогнито» в GoogleChrome эта проблема не возникает. Служба технической поддержки системы 1С˗Битрикс предлагает простой вариант избавления от бага. Если вы сталкиваетесь с таким видом ошибки, то вероятнее всего вам поможет это решение.

Решение проблемы
Для избавления от бага нужно открыть файл install.sql в каталогу mysql, который находится в /bitrix/modules/main/install/ и заменить там одну строку. Существующий вариант:
INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD) 

Рабочий вариант:
INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

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

Ошибочный ответ сервера. Не удалось завершить тестирование

Задать вопрос

Наши специалисты ответят на любой интересующий вопрос по услуге

Хостинг «Таймвеб», редакция Битрикс Старт.

При полном тестировании системы (Настройки → Инструменты → Проверка системы), на этапе Тестирование базы данных — получаем ошибку Структура базы данных: Ошибочный ответ сервера. Не удалось завершить тестирование.

Ошибка появилась после обновления ядра до версии main (15.5.9) — Исправлен ряд интерфейсных ошибок. 

Решение проблемы подсказали в поддержке Битрикса:

В файле /bitrix/modules/main/install/mysql/install.sql найти строку:

INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD)

и заменить на:

INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

Заказать услугу

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

Способы исправления ошибок, выявленных при полном тестировании системы в 1С-Битрикс

Модули веб-сервера

Ошибка: Загружен модуль mod_dav/mod_dav_fs, WebDav не будет работать
Решение: Удалите файл /etc/httpd/conf.modules.d/00-dav.conf

Размер стека и pcre.recursion_limit

Ошибка: Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений
Решение: Как правило, для корректной работы 1С-Битрикс требуется снижение значения pcre.recursion_limit до 1000. Для этого нужно прописать правило в файле php.ini или в .htaccess, если у вас виртуальный хостинг и нет доступа к настройкам сервера.

VDS хостинг

  1. В файле /etc/php.d/bitrixenv.ini изменим параметр:
    pcre.recursion_limit=100000
  2. В скрипте запуска сервера HTTP Apache /etc/rc.d/init.d/httpd изменим функцию start(), добавив в нее одну строку ulimit -s unlimited
  3. В итоге должно получиться примерно следующее:
    start() {
      echo -n $"Starting $prog: "
      ulimit -s unlimited
      LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
      RETVAL=$?
      echo
      [ $RETVAL = 0 ] && touch ${lockfile}
      return $RETVAL
    }

Виртуальный хостинг

Для виртуального хостинга в файле .htaccess

php_value pcre.recursion_limit 100000

Режим работы MySQL

Ошибка: innodb_strict_mode=ON, требуется OFF
Решение: После обновления 1C-Битрикс, а конкретно модуля main 19.0.400 добавилась новая проверка. Исправление выйдет в следующих версиях BitrixVM. А сейчас можно исправить так:

Вариант 1

  1. Подключиться к серверу под root
  2. Открыть один из файлов (у всех могут быть разные, варианты)
  • /etc/my.cnf
  • /etc/alternatives/my.cnf
  • /etc/bitrix-my.cnf
  • Добавить строку в блоке # InnoDB parameters
    innodb_strict_mode = OFF
  • Вариант 2

    1. В файл after_connect.php добавить:
      $DB->Query("SET innodb_strict_mode='OFF'");
    2.  В файл after_connect_d7.php добавить:
      $connection->queryExecute("SET innodb_strict_mode='OFF'");

    Структура базы данных

    Ошибка: В таблице b_search_content_stem поле STEM «varchar(50) NOT NULL» не соответствует описанию на диске «int(11) NOT NULL»
    Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

    Ошибка: В таблице b_search_content_freq поле STEM «varchar(50) NOT NULL DEFAULT «» » не соответствует описанию на диске «int(11) NOT NULL DEFAULT «0» «
    Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

    Ошибка: Структура базы данных: Ошибочный ответ сервера. Не удалось завершить тестирование.
    Решение: В файле /bitrix/modules/main/install/mysql/install.sql найти строку:

    INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD)

    и заменить на:

    INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

    Ошибка: В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP»
    Решение: Выполнить запрос в Настройки → Инструменты → SQL запрос:

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

    Проблема 

    Проверка системы падает с ошибкой: 

    Передача объектов по ссылке    Успешно
    Передача объектов по ссылке    Ошибочный ответ сервера. Не удалось завершить тестирование

    Конфигурация:

    • 1С-Битрикс: Управление сайтом 15.5.10
    • Windows7 64
    • XAMPP
    • PHP Version 5.6.15
    • pcre.recursion_limit    100000

    Причина

    Не найдена и особо не искалась

    Решение

    Отключаем эту проверку

    Файл: bitrixmodulesmainclassesgeneralsite_checker.php 

    Функция: check_pcre_recursion()

    Делаем чтобы всегда возвращала true:

    function check_pcre_recursion()
    	{
    		return true;
    
    		$strRequest = "GET "."/bitrix/admin/site_checker.php?test_type=pcre_recursion_test&unique_id=".checker_get_unique_id()." HTTP/1.1rn";
    		$strRequest.= "Host: ".$this->host."rn";
    		$strRequest.= "rn";
    
    		if ($res = $this->ConnectToHost())
    		{
    			if ('SUCCESS' == $strRes = GetHttpResponse($res, $strRequest, $strHeaders))
    				return true;
    			if ($strRes == 'CLEAN')
    				return $this->Result(null, GetMessage('SC_PCRE_CLEAN'));
    		}
    		return false;
    	}

    Решение было найдено тут: http://max22.ru/pitfalls/site-checker/

    Потом утеряно

    Потом найдено у себя в коде

    Написан пост

    И снова найдено на: http://max22.ru/pitfalls/site-checker/

    ¯_(ツ)_/¯

    Список ошибок при тестировании системы и конфигурации Битрикса

    Отправка почты Ошибка! Не работает

    Отправка почтового сообщения больше 64Кб Ошибка! Не работает

    Фактическое ограничение памяти Ошибочный ответ сервера. Не удалось завершить тестирование

    Отправка почтовых уведомлений Функция работает неправильно, требуется устранить ошибки

    Интеграция с почтой внутри компании Функция работает частично неправильно, желательно устранить ошибки

    Интеграция с соцсетями Функция работает частично неправильно, желательно устранить ошибки

    Публикация сообщений в живую ленту из почты Функция работает частично неправильно, желательно устранить ошибки

    Интеграция с Windows окружением Ошибок не выявлено, но есть замечания

    Интеграция с внешними приложениями (MS Office, Outlook, Exchange) через безопасное подключение к порталу Функция работает частично неправильно, желательно устранить ошибки

    Интеграция с Active Directory Функция работает частично неправильно, желательно устранить ошибки

    Единая авторизация в Windows сети (NTLM) Функция работает частично неправильно, желательно устранить ошибки

    Как исправить ошибку «Ошибка! Структура базы данных имеет ошибки»

    Почему появляется ошибка?

    Данная ошибка появляется в случае, когда структура базы данных не совпадает со структурой, расположенной в установочных sql-файлах. Обычно это возникает при установке обновлений.

    На что эта ошибка влияет?

    В большинстве случаев ошибки структуры не влияют на работу сайта, т.к. содержат незначительные различия.

    Но иногда проблемы бывают серьезные — например, из-за различий в кодировке и др.

    Как исправить ошибку?

    В большинстве случаев ошибка исправляется автоматически, при нажатии на ссылку «Исправить». При этом структура переносится из файлов в БД. К примеру, если в установочном sql-файле некоторое поле имеет тип longtext, а в БД оно имеет тип text, то в процесс автоматического исправления тип поля в БД станет longtext.

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

    В таблице b_adv_contract поле KEYWORDS «`KEYWORDS` longtext NULL DEFAULT NULL» не соответствует описанию на диске «`KEYWORDS` text NULL DEFAULT NULL»

    Требуется наша помощь?

    Мы имеем огромный опыт, на протяжении 10 лет помогая клиентам в решении самых различных проблем на их сайтах.

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

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

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

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

    Ошибка! Структура базы данных имеет ошибки (нет таблиц: 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

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

    многоуровневый код сайта

    Общее представление

    Взаимодействуя с учетной программой, пользователи выполняют различные операции, каждая из которых, так или иначе, формирует запрос к базе данных. Создание нового документа, интеграция библиотеки, плановое обновление — во время любого из процессов есть вероятность получить в ответ уведомление от системы, свидетельствующее о том, что одна из логических цепочек была нарушена. Распространенный вариант — когда на экране появляется сообщение об ошибке SDBL 1С ожидается выражение (pos = 6) (а также 15, 57, 198, 250, 469, или любой другой номерной идентификатор).

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

    структура базы данных

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

    Причины возникновения

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

    Если говорить об уже упомянутой ранее ошибке SDBL 1С «ожидается выражение (pos = 144)» (или 48, 153, 13 — не столь принципиально), то в этом случае ключевым обстоятельством становится повреждение базы данных, обусловленное нарушением системных логических циклов. К числу распространенных причин возникновения, отмечаемых специалистами, относят не только применение устаревшей конфигурации или платформы, но также и проблемы, связанные с серверным кешем. Кроме того, всегда существует вероятность случайного запуска с некорректной учетной записи, не обладающей достаточным набором прав.

    ошибка sdbl pos 6

    Чаще всего системные ошибки происходят в процессе очередного обновления БД, а также при обращении к ней — через запрос на добавление документов, во время тестовой проверки логической целостности, или же в иных ситуациях. Критической проблемой при установке расширений может стать и «некорректное использование LOCAL/GLOBAL в SET GENERATION», не позволяющее полноценно сохранить базу даже после выборочного удаления. Стоит отметить, что стандартное решение в виде перезагрузки программы обычно не помогает, поэтому для восстановления работоспособности придется воспользоваться альтернативными методиками.

    Какие сообщения возникают

    архивация бд

    Уведомление о технических неполадках отражает специфику возникшей проблемы, и может появиться как во время обновления конфигурации, так и в процессе работы с обменом данных. Как правило, текст в информационном окне раскрывает специфику возникшей ошибки SDBL 1С: «не является именем поля», «ожидается идентификатор» или «выход за пределы размерности результата 1C», и т. д.

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

    • предпринята попытка ввести неприемлемый тип значения «NULL»;

    • пропущена точка с запятой;

    • нарушение индексирования с полным текстом;

    • неоднозначное определение некоторого поля;

    • отсутствует выражение (pos =) — с различными числовыми идентификаторами в скобках.

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

    уведомление о технических неполадках

    Готовые решения для всех направлений

    Склады

    Ускорь работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.

    Узнать больше

    Магазины

    Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.

    Узнать больше

    Маркировка

    Обязательная маркировка товаров — это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя.

    Узнать больше

    E-commerce

    Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.

    Узнать больше

    Учреждения

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

    Узнать больше

    Производство

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

    Узнать больше

    RFID

    Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.

    Узнать больше

    ЕГАИС

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

    Узнать больше

    Сертификация

    Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов..

    Узнать больше

    Инвентаризация

    Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.

    Узнать больше

    Показать все решения по автоматизации

    Устранение ошибки SDBL 1С

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

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

    проблемы с базой данных

    Практически любая ошибка SDBL 1С — «недопустимый символ (pos = 40)», «пропущена точка с запятой», или «ожидается имя таблицы 21», может быть устранена путем выполнения несложного набора действий. Перечень доступных вариантов выглядит следующим образом:

    1. Удаление кэшированных данных — как на пользовательском рабочем месте, так и на основном сервере, где произошел технический сбой. Для реализации процедуры очистки кэша достаточно закрыть учетную программу, открыть «Проводник», найти, выбрать и удалить набор папок из раздела «Application Data». Отличить нужные элементы проще всего по названию, которое выглядит как хаотичный набор символов — например, «ac5c8bm4-y65k-4s23-a9g8-2dcttp0b15da».

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

    3. Перезагрузка сервера, на котором расположены программные приложения системы 1С. Самый простой вариант — включение и выключение всех взаимосвязанных SQL-сервисов, включая агент. Для выполнения задачи нужно зайти на нужный серверный источник, выделить агентскую службу, вызвать контекстное меню и остановить процесс. Аналогичные действия повторяем на SQL со служебными процедурами Server и Agent. Повторная активация осуществляется в обратном порядке.

    4. Выгрузка БД в отдельный DT-файл с последующей повторной «заливкой». По сути, метод напоминает стандартную перезагрузку системы — структура записывается в файловом формате, что позволяет упорядочить проблемные разделы. Для выполнения процедуры достаточно открыть меню управления учетной программой, найти в категории «Администрирование» функцию «Выгрузить информационную базу», и после ее завершения выбрать опцию «Загрузить ИБ», используя сформированный файл.

    5. Откат к последней резервной копии. Один из самых простых и доступных вариантов — конечно, в том случае, если архивирование данных проводится на регулярной основе, а не только перед закрытием периодов. Вообще, решение записывать текущее состояние перед каждым внесением изменений может избавить от большинства проблем, связанных с техническими сбоями. Даже если вы столкнетесь с уведомлением о том, что «ожидается имя поля», или получите ошибку «таблица 1С inforg не создана в новом поколении», источник которой не всегда понятен даже опытным пользователям — загрузка последней копии просто вернет систему к исходному состоянию. Для резервирования допускается использование как SQL MS, так и Конфигуратора учетной программы — через последовательную выгрузку файлов в уже упомянутом DT формате.

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

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

    На что еще обратить внимание при устранении ошибок SDBL, и как реализовать рассмотренные методы? Сейчас разберемся.

    Права доступа

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

    Перезагрузка серверов 1С и SQL

    Это один из простейших методов восстановления, единственным обязательным условием, для применения которого является выход всех пользователей из базы. Убедившись, что доступ открыт, зайдите на сервер и последовательно выключите агент программы Server и SQL-agent, после чего запустите их в обратном порядке.

    Удаление кэшированных данных

    ошибка sdbl 1c

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

    Перечень факторов, обуславливающих нарушение логических циклов, весьма обширен, и охватывает не только динамические обновления системной структуры, но и технические сбои программного или аппаратного характера. В некоторых случаях для устранения ошибки SDBL 1С «ожидается имя поля/таблицы (pos = 21, 45, 48…)» достаточно почистить кэш, сохраненный на сервере, либо на рабочем месте пользователя.

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

    • «%userprofile%AppDataRoaming1C1Cv8» и «%userprofile%AppDataLocal1C1Cv8» — для операционных систем начиная с Windows 7.

    • «%userprofile%Local SettingsApplication Data1C1Cv8» и «%userprofile%Application Data1C1Cv8» — для тех, кто все еще продолжает работать на ХР.

    Откройте каталог, расположенный по указанному адресу, выделите и удалите все хранящиеся в нем папки, имя которых представляет собой сгенерированный автоматически набор цифр и букв (вроде «abg7n8ty4-brt9r893-am…»). Стоит отметить, что во время чистки кэша нужно быть особенно внимательными, поскольку в директории также могут находиться поисковый индекс и журналы регистрации 1С, которые не требуют удаления.

    Загрузка DT-файла

    устранение проблем базы 1с

    Этот метод может показаться немного странным, поскольку фактически не предполагает внесения каких-либо корректировок в основную структуру данных. Однако в действительности выгрузка БД в отдельный файл, сохраняемый в формате DT, с последующим обращением к ней же, нередко позволяет восстановить нормальную работу программы. Алгоритм достаточно прост — в режиме Конфигуратора нужно выбрать раздел «Администрирование», использовать опцию «Выгрузить ИБ» (указав каталог для сохранения), после чего повторно залить сформированную базу обратно в систему.

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

    Еще одна удобная функция, доступная в режиме корректировки конфигурации — встроенный инструментарий, предназначенный для теста и внесения коррективов. В отдельных ситуациях может возникнуть проблема с запуском Конфигуратора — вместо этого можно воспользоваться специальной утилитой chdbfl.exe, представляющей собой упрощенный программный аналог с идентичным функционалом. Приложение находится в каталоге «bin», поэтому найти его не составляет особого труда — как через стандартный путь «C:Program Files (x86)1cv88.3bin», так и через опцию поиска, предлагаемую операционной системой.

    сбой при обновлении конфигурации

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

    Обновление платформы

    Еще одно простое решение, предусматривающее использование сайта технической поддержки разработчиков 1С. Скачайте дистрибутив актуального релиза, распакуйте архив и активируйте инсталлятор setup.exe — система обновится автоматически.

    Очистка таблиц базы данных

    Если ни один из вышеперечисленных способов не дал желаемого результата — остается вариант с удалением табличных значений БД, вызывающих появление ошибки, расположенных в каталогах ConfigChngR и ExtProps. Для этого применяется скрипт менеджера SQL, с указанием информационного раздела и командой delete from. В этом случае лучше всего обратиться к профильному специалисту, поскольку некорректное восстановление может привести к более серьезным последствиям.

    Заключение

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

    Количество показов: 7426

    При проверке сайта на Bitrix возникает следующая ошибка:

    2015-Dec-28 08:16:44 Структура базы данных (check_mysql_table_structure): Fail
    ALTER TABLE `b_iblock_element_property` MODIFY `VALUE` text NOT NULL ;
    Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 1, нет индексов: 0). Всего 1, автоматически могут быть исправлены: 0.

    Как исправить?

    AntonioK's user avatar

    AntonioK

    3,17919 серебряных знаков42 бронзовых знака

    задан 28 дек 2015 в 5:36

    NNN's user avatar

    На самом деле, можно сделать и без phpMyAdmin:

    Шаг 1. Заходите в Консоль SQL в админке Битрикса

    Шаг 2. Выполняем там ряд команд:

    # Делаем резервную копию
    create table b_iblock_element_property_backup like b_iblock_element_property;
    insert into b_iblock_element_property_backup select * from b_iblock_element_property;
    # Превращаем NULL в пустую строчку
    update b_iblock_element_property set VALUE = '' where VALUE IS NULL;
    

    ответ дан 29 дек 2015 в 8:30

    Andrewus's user avatar

    AndrewusAndrewus

    7784 серебряных знака9 бронзовых знаков

    5

    Сначала дамп базы, а потом

    UPDATE b_iblock_element_property SET VALUE = '' WHERE ISNULL(VALUE)
    

    ответ дан 30 дек 2015 в 8:11

    maxkuku's user avatar

    maxkukumaxkuku

    6084 серебряных знака11 бронзовых знаков

    1

    Нужно изменить тип поля value с varchar(255) на text

    ответ дан 7 янв 2016 в 19:47

    NNN's user avatar

    NNNNNN

    4517 серебряных знаков26 бронзовых знаков

    Способы исправления ошибок, выявленных при полном тестировании системы в 1С-Битрикс

    Модули веб-сервера

    Ошибка: Загружен модуль mod_dav/mod_dav_fs, WebDav не будет работать
    Решение: Удалите файл /etc/httpd/conf.modules.d/00-dav.conf

    Размер стека и pcre.recursion_limit

    Ошибка: Замечание. Возможны проблемы в работе с длинными строками из-за системных ограничений
    Решение: Как правило, для корректной работы 1С-Битрикс требуется снижение значения pcre.recursion_limit до 1000. Для этого нужно прописать правило в файле php.ini или в .htaccess, если у вас виртуальный хостинг и нет доступа к настройкам сервера.

    VDS хостинг

    1. В файле /etc/php.d/bitrixenv.ini изменим параметр:
      pcre.recursion_limit=100000
    2. В скрипте запуска сервера HTTP Apache /etc/rc.d/init.d/httpd изменим функцию start(), добавив в нее одну строку ulimit -s unlimited
    3. В итоге должно получиться примерно следующее:
      start() {
        echo -n $"Starting $prog: "
        ulimit -s unlimited
        LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch ${lockfile}
        return $RETVAL
      }

    Виртуальный хостинг

    Для виртуального хостинга в файле .htaccess

    php_value pcre.recursion_limit 100000

    Режим работы MySQL

    Ошибка: innodb_strict_mode=ON, требуется OFF
    Решение: После обновления 1C-Битрикс, а конкретно модуля main 19.0.400 добавилась новая проверка. Исправление выйдет в следующих версиях BitrixVM. А сейчас можно исправить так:

    Вариант 1

    1. Подключиться к серверу под root
    2. Открыть один из файлов (у всех могут быть разные, варианты)
      • /etc/my.cnf
      • /etc/alternatives/my.cnf
      • /etc/bitrix-my.cnf
    3. Добавить строку в блоке # InnoDB parameters
      innodb_strict_mode = OFF

    Вариант 2

    1. В файл after_connect.php добавить:
      $DB->Query("SET innodb_strict_mode='OFF'");
    2.  В файл after_connect_d7.php добавить:
      $connection->queryExecute("SET innodb_strict_mode='OFF'");

    Структура базы данных

    Ошибка: В таблице b_search_content_stem поле STEM «varchar(50) NOT NULL» не соответствует описанию на диске «int(11) NOT NULL»
    Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

    Ошибка: В таблице b_search_content_freq поле STEM «varchar(50) NOT NULL DEFAULT «» » не соответствует описанию на диске «int(11) NOT NULL DEFAULT «0» «
    Решение: Удалить модуль поиска вместе с таблицами и Заново установить модуль поиска и переиндексировать сайт.

    Ошибка: Структура базы данных: Ошибочный ответ сервера. Не удалось завершить тестирование.
    Решение: В файле /bitrix/modules/main/install/mysql/install.sql найти строку:

    INDEX ix_module_to_module(FROM_MODULE_ID, MESSAGE_ID, TO_MODULE_ID, TO_CLASS, TO_METHOD)

    и заменить на:

    INDEX ix_module_to_module(FROM_MODULE_ID(20), MESSAGE_ID(20), TO_MODULE_ID(20), TO_CLASS(20), TO_METHOD(20))

    Ошибка: В таблице b_user_hit_auth поле TIMESTAMP_X «datetime NULL DEFAULT NULL » не соответствует описанию на диске «timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP»
    Решение: Выполнить запрос в Настройки → Инструменты → SQL запрос:

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

      

    Koldun1

    19.05.10 — 08:38

    ну вот и приплыли,есть(или была) база на флэшке в NTFSом формате,работает с этой базой человека три,так вот не знаю что у них там произошло вчера(молчат как партизаны),запускаю базу просто щёлкаю мышкой в любое место вываливается месадж типа памяти недостаточно и все,в конфигураторе тоже самое говориться,запустил чекдб,нашел одну ошибку,мол DBSchema кривая,написано ошибка исправлена,запускаю снова базу и финиш Ошибка SDBL:Разрушена структура базы данных 1С:Предприятия. (pos=0) .чего курить?куда копать? сюда не отправлять http://www.gilev.ru/1c/81/restore/

      

    Koldun1

    1 — 19.05.10 — 08:40

    а чуть не забыл :Зарплата и Управление Персоналом, редакция 2.5 (2.5.20.3) и 1С:Предприятие 8.1 (8.1.15.14)

      

    Rie

    2 — 19.05.10 — 08:40

    (0) На флешке?
    Прими соболезнования и больше так не делай.

      

    Koldun1

    3 — 19.05.10 — 08:41

    вся ирония в том что именно вчера не был сделан бэкап,но почему?потому что флэшка на удаленном компе висит,но его умудрились выключить до того момента как начал делаться бэкап)))

      

    Koldun1

    4 — 19.05.10 — 08:42

    на флэшке,а что это не лечиться?я не верю

      

    Rie

    5 — 19.05.10 — 08:43

    (4) Не верь. У флешки — ограниченное число перезаписей. После этого она необратимо разрушается. База данных, с которой работают три человека (да даже и один), обеспечивает нужное число перезаписей быстро и надёжно.
    Лечить нечего, флешка разрушена.

      

    vde69

    6 — 19.05.10 — 08:44

    у флешки ограниченый ресурс циклов записи, пол года/год работы 1с и ФЛЕШКЕ конец.

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

      

    Koldun1

    7 — 19.05.10 — 08:44

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

      

    Rie

    8 — 19.05.10 — 08:47

    (7) Если «нормально работает» — то в чём проблема? :-)
    Когда с разрушенной флешки скачивается база, то разрушенные блоки выглядят как аккуратные многочисленные нули вместо данных. Но база — скачивается.

      

    Koldun1

    9 — 19.05.10 — 08:49

    я говорю флэшка работатет,а база нет,а вообще изначально вопрос задан вот это лечиться Ошибка SDBL или нет?и чем?

      

    Rie

    10 — 19.05.10 — 08:51

    (9) Попробуй выгрузить/загрузить.

      

    vde69

    11 — 19.05.10 — 08:55

    (10) у тебя всего 1 день потерян, ради этого даже не заморачивайся, востановление далеко не всегда возможно и совсем не дешего стоит,

    штатно не лечится!

      

    Rie

    12 — 19.05.10 — 08:57

    (11) У меня? :-)

      

    Koldun1

    13 — 19.05.10 — 08:57

    vde69 а как лечиться, если не штатно?в общих чертах можно

      

    vde69

    14 — 19.05.10 — 08:58

    (12) у автора :)

    ———————

    опс и у меня то-же

    ———————

    опс и у тебя :))

      

    Sekho

    15 — 19.05.10 — 08:58

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

      

    vde69

    16 — 19.05.10 — 08:59

    (13) разбирать компаунд на отдельные таблицы и ковырять уже их, степень разрушения зависит от того какие таблицы нагнулись

      

    Koldun1

    17 — 19.05.10 — 09:01

    Sekho я же выше написал,так и делал)
    vde69 судя по всему накрылась DBSchema,а какими инструментами?мне эта тема интересна,может ссылок дадите что почитать?

      

    Sekho

    18 — 19.05.10 — 09:06

    (17) сорри, упустил из виду

      

    Sekho

    19 — 19.05.10 — 09:07

    +(18) ты тест на флешке делал или уже на жестком диске?

      

    Koldun1

    20 — 19.05.10 — 09:07

    уже на жестком

      

    Дикообразко

    21 — 19.05.10 — 09:07

    господи, этому баяну уже лет 8-9 …
    именно тогда у меня друг одним из первых на это нарвался

      

    Koldun1

    22 — 19.05.10 — 09:08

    Дикообразко подробней можно?

      

    vde69

    23 — 19.05.10 — 09:09

    (17) тема сложная, и если ты не умеешь пользоватся поиском — значит она не для тебя…

    в инете достаточно инфа, а вот хороших инструментов которыми можно правильно ковырять побитое — нету :(

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

      

    Дикообразко

    24 — 19.05.10 — 09:09

    да все уже рассказано в (5) но до тебя упорно не доходит

      

    Koldun1

    25 — 19.05.10 — 09:13

    vde69, google по этому поводу выдает только рекламу,что вот заплати столько то и тд,в сети есть инфа только по 7.7,так что не надо мне тут про поиск,я прежде чем тему создавать,вначале поиск поюзал,просто никто не хочет делиться тем,чем он зарабатывает себе на хлеб(
    Дикообразко,то что расказано выше противоречит тому,что говорит vde69…а я ему верю у него борода есть)восстановить можно и ради эксперимента я этим займусь,просто думал услышать толковых советов,от крутых спецов)))

      

    Дикообразко

    26 — 19.05.10 — 09:15

    крутые спецы прежде чем что то делать — думают…
    это сопляки вечно в дерьмо попадают, а потом геройски оттуда вылазят

      

    Дикообразко

    27 — 19.05.10 — 09:16

    здесь ищи
    http://www.flashboot.ru/

    если не поможет, то только в морг

      

    vde69

    28 — 19.05.10 — 09:16

      

    Koldun1

    29 — 19.05.10 — 09:22

    Дикообразко,к сожалению я не могу телепатически управлять пользователями)у меня тут и так есть куда попадать,кто ж теперь узнает кто выключил комп куда флэшка воткнута была,во время того как другие пользователи работали с базой?)
    странно vde69 мне ссылчки дает,говорит что все возможно,а Дикообразко наоборот,все про морг,инь и янь какой то)))

      

    Koldun1

    30 — 19.05.10 — 09:26

    у меня есть бэкап и до моих манипулиций,при запуске ошибка «недостатчно памяти»,может с ним что-нибудь штатное можно сделать,чтобы завелось?

      

    vde69

    31 — 19.05.10 — 09:28

    (29) возможно далеко не всегда и сложная это тема.

    просто я зарабатываю на востановление баз 7.7 и начал восьмерку ковырять в этом направление. По этому я отношусь к востановлению довольно оптимистически.

      

    Koldun1

    32 — 19.05.10 — 09:32

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

      

    Serg_1960

    33 — 19.05.10 — 09:48

    Вот-вот. Просто подойди к решению вопроса :) — может быть станешь специалистом в этом вопросе и тогда поймешь почему молчат гуру :)) Успехов.

      

    Koldun1

    34 — 19.05.10 — 09:51

    спасибо)

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

    • Как работать с индексами бд?
    • Индексы в бд: о чем еще стоит помнить
    • Критические ошибки: запросы
    • Оптимизация индексов: о чем еще стоит задуматься?

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

    Как работать с индексами

    Учимся читать план выполнения запроса.

    Разработчики зачастую плохо понимают, как устроены базы данных. Нужно уметь разбираться в том, как их структурировать и проектировать. Также большинство разработчиков не понимает, что такое план выполнения запроса в СУБД. Но это несложно: достаточно изучить документацию и понять, где в запросах теряется время. Чаще всего помогает «навешивание» каких-нибудь индексов.

    Частичный индекс компактнее полного.

    По умолчанию индекс, который вы навешиваете на таблицу, индексирует вообще все значения. Но в большинстве случаев вам не нужны NULL-значения, если они есть базе. Так выкиньте их и постройте такой индекс (любая СУБД это позволяет), который NULL-значения не учитывает. Размер индекса в этом случае у вас сильно уменьшится и будет содержать в себе только то, что нужно. То же самое касается ситуации, когда значения, которые вы индексируете, тоже вам не нужны. В поле могут быть значения от 1 до 100, но вы чаще всего делаете запрос по значениям 1, 2, 3, поэтому можете легко проиндексировать только эти значения. В этом случае индекс у вас будет небольшого размера, и работать он будет быстро. Разницу между полным индексом и частичным можно даже увидеть на глаз в вашей системе мониторинга: время отклика резко упадет.

    Кластеризованные индексы идеальны для дат.

    Кластеризованным называют индекс, который гарантирует, что данные в вашей таблице идут друг за другом и так, как надо. Это бывает очень полезно, когда вы в своих запросах используете интервалы, и, чаще всего, интервалы по датам. Например, вы делаете запрос о поиске всех строк с 18 по 19 июня, и если вы используете на дате кластеризованный индекс, то строки будут идти подряд, а это значит, что СУБД их очень быстро считает с диска, а не будет «бегать» по всему диску и искать. Это минимизирует количество операций чтения и может значительно уменьшить время отклика.

    Функциональный индекс поддерживают все СУБД.

    С помощью него вы можете индексировать данные по какой-либо функции. Бывают ситуации, когда вам нужно найти всех людей, у которых день рождения 19 июня (не важно какого года). И именно функциональный индекс эффективен в данном случае.

    Индексы по числам эффективнее, чем по строкам.

    Храните все, что является числом, как число (номера телефонов, ИНН и так далее), потому что индекс по номерам телефонов и ИНН (его часто приходится навешивать и на одно, и на другое) будет занимать меньше места, а если что-либо в СУБД занимает меньше места, то оно быстрее находится, считывается, оптимально кэшируется и быстрее выдается. Все это влияет на производительность. Пока у вас маленькая база данных, это незаметно, а когда она вырастает до гигабайтов и количество запросов в секунду переваливает за несколько десятков, вы сразу это ощущаете.

    Индексы: о чем стоит помнить?

    Не все можно эффективно индексировать.

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

    Поиск по нескольким индексированным полям — лотерея. Надо помнить, что если в одной таблице есть несколько индексированных полей и вы не по всем из них ищите данные, то результат будет непредсказуемым, как в лотерее. Ситуация может отличаться от сервера к серверу и от машины к машине. Почему? Разные условия, нагрузка, количество памяти, скорость работы с диском. Поэтому индексировать данные надо, изучая план запроса на том самом «боевом» сервере, на котором у вас возникли проблемы.

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

    Много индексов на таблице — признак перегруженной структуры.

    Критические ошибки: запросы

    Нижеприведенные рекомендации — это классика жанра, об этом написано в любом руководстве по тому, как правильно работать с SQL-базами данных. Никогда нельзя запрашивать все разом (SELECT *), запрашивайте только то, что вы ищите, это, если хотите, закон. Скорость работы СУБД зависит в том числе и от того, сколько вы из нее запрашиваете. Если вы запрашиваете много ненужных вещей, которые потом выкинете, значит вы делаете работу вхолостую. Такой запрос — зло, особенно в ситуации, когда таблица большая.

    За SELECT COUNT (*) и LIMIT/OFFSET надо винить разработчиков таких интерфейсов, где есть списки с постраничным выводом данных. Это, может, выглядит красиво, но даже по опыту использования поисковиков мы знаем, что пользователи дальше второй страницы заходят редко. А если список длинный, то они и первую страницу просматривают не до конца. Нужно давать в интерфейсах возможность делать такие фильтры, чтобы данные можно было получить быстро и именно столько, сколько нужно.

    Арифметика в фильтрах, функции и полнотекстовый поиск убивают индексы. Если в условиях поиска вы используете арифметику, функции или полнотекстовый поиск, то чаще всего это убивает любые индексы. Запросы не будут быстрыми: вам нужно будет или упрощать их, или использовать какие-то специфические решения (например, для полнотекстового поиска есть плагин либо функциональный индекс, о котором шла речь ранее).

    Оптимизация: о чем еще стоит задуматься?

    Настройка ORM.

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

    Рефакторинг бизнес-логики.

    Иногда проще сделать два маленьких запроса, чем один большой — он будет медленнее. Но здесь каждый случай индивидуален, нужно уметь экспериментировать. Поэтому чтобы ускорить работу с базами, стоит и настроить ORM, и отрефакторить запросы к ним.

    Контроль ссылочной целостности.

    Речь идет о ситуациях, когда настроены каскадные удаления и обновления. В то время, как вы пытаетесь что-то удалить, СУБД ищет все связанные сущности и пытается понять, стоит их удалять или нет. В этом случае можно не удалять, а помечать как удаленную. Либо пытаться ссылочную целостность как-то порвать, но это может привести к несогласованности, когда вы случайно забудете удалить вместе с основной записью и все связанные с ней. В этом случае в вашей базе будут накапливаться «потерянные» записи. Они, как минимум, будут зря занимать место. Но в перспективе это может привести к неправильной работе бизнес-логики, что гораздо хуже. Так что, если вы очень часто удаляете что-то из БД, то рвать ссылочную целостность надо очень аккуратно, семь раз проверив, что вы удалили действительно всё.

    Оптимизация структуры БД — исправление ошибок, совершенных ранее. Если к тому времени, когда у вас начались первые проблемы со скоростью вы видите, что ошиблись на первой стадии, настало время их поправить, потому что далее проблемы будут усугубляться.

    Разрушена структура базы данных

    Платформа: 1С:Предприятие 8.3 (8.3.7.1917)
    Ошибки:


    11.04.2016 16:06:18
    Невосстановимая ошибка
    Ошибка при выполнении запроса POST к ресурсу /e1cib/login:
    по причине:
    Ошибка SDBL:
    Разрушена структура базы данных 1С:Предприятия.

    Подскажите пожалуйста, как восстановить!!!! Спасибо!!

    Попробуйте программой chkdbfl.exe. Обычно это файл лежит в каталоге где установлена платформа 1С Предприятия (C:Program Files1cv8). При неоднократной установке обновлений таких каталогов может быть несколько — выбирайте самую свежую версию платформы (самый новый файл по дате создания, если ищете его через стандартный поиск Винды). Не стоит качать этот файл с Инета (особенно с незнакомых сайтов) — можно словить вирус.
    Запускаете chkdbfl.exe, здесь необходимо указать путь к файлу информационной базы (в каталоге базы 1С он самый большой, и называется он 1Cv8.1CD), установливаете флажок «Исправлять обнаруженные ошибки» и жмете  кнопку «Выполнить».
    Проверка и исправление ошибок утилитой chkdbfl может занять продолжительное время (это зависит от размера базы).
    После ее окончания попробуйте запустить Вашу базу, если процесс пошел — еще раз воспользуйтесь функцией тестирования и исправления из Конфигуратора.

    Заполнить и подать уведомление об исчисленных суммах налогов и взносов

    При проверке сайта на Bitrix возникает следующая ошибка:

    2015-Dec-28 08:16:44 Структура базы данных (check_mysql_table_structure): Fail
    ALTER TABLE `b_iblock_element_property` MODIFY `VALUE` text NOT NULL ;
    Структура базы данных имеет ошибки (нет таблиц: 0, нет полей: 0, поля отличаются: 1, нет индексов: 0). Всего 1, автоматически могут быть исправлены: 0.

    Как исправить?

    AntonioK's user avatar

    AntonioK

    3,17921 серебряный знак43 бронзовых знака

    задан 28 дек 2015 в 5:36

    NNN's user avatar

    На самом деле, можно сделать и без phpMyAdmin:

    Шаг 1. Заходите в Консоль SQL в админке Битрикса

    Шаг 2. Выполняем там ряд команд:

    # Делаем резервную копию
    create table b_iblock_element_property_backup like b_iblock_element_property;
    insert into b_iblock_element_property_backup select * from b_iblock_element_property;
    # Превращаем NULL в пустую строчку
    update b_iblock_element_property set VALUE = '' where VALUE IS NULL;
    

    ответ дан 29 дек 2015 в 8:30

    Andrewus's user avatar

    AndrewusAndrewus

    7784 серебряных знака9 бронзовых знаков

    5

    Сначала дамп базы, а потом

    UPDATE b_iblock_element_property SET VALUE = '' WHERE ISNULL(VALUE)
    

    ответ дан 30 дек 2015 в 8:11

    maxkuku's user avatar

    maxkukumaxkuku

    6235 серебряных знаков12 бронзовых знаков

    1

    Нужно изменить тип поля value с varchar(255) на text

    ответ дан 7 янв 2016 в 19:47

    NNN's user avatar

    NNNNNN

    4517 серебряных знаков26 бронзовых знаков

  • Ошибка стиральной машины электролюкс e34
  • Ошибка структуры fb2 myhomelib как исправить
  • Ошибка стиральной машины электролюкс e02
  • Ошибка структура таблицы name шрифт
  • Ошибка структура базы данных имеет ошибки всего 1 автоматически могут быть исправлены 0