1с ошибка субд microsoft sql server native client

  • #1

Добрый день всем!
Иногда возникает проблема с подключением к 1c Документооборот 8.3 КОРП. Не понятно после чего база отваливается и у пользователя показывается вот такое сообщение:

Ошибка СУБД:
Microsoft SQL Server Native Client 11.0 Недопустимое имя объекта»#tt1″
HRESULT=80040E37, SQLSrvr:SQLSTATE-42202, state=1, Severity=10, native=208, line=1

dfdfdf.png

Сервер 1с установлен на одном физическом сервере с SQL server 2016. Подскажите как можно диагностировать ошибку и понять из-за чего она случилась?

Последнее редактирование модератором: 16.11.2020

В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец таблицы «.dbo.»; в столбце запрещены значения NULL. Ошибка в INSERT.

Описание ошибки:
Столкнулся с ошибкой при выполнении процедуры Тестирование и исправление… на этапе реструктуризации таблиц информационной базы. База клиент-серверная. 1С: Управление торговлей 10.3.31. Платформа 1С: Предприятие 8.3.9

Найденные решения:

Сложно сказать, что посчастливилось, но все же ошибка преследовала меня в базе не единожды. Но по своей сути каждая последующая формулировка «В процессе обновления информационной базы произошла критическая ошибка…» отличалсь в причине и решении незначительно. С такой ошибкой столкнулся, если быть откровенным, впервые, но интернет в принятии решения устранения ошибки сильно не помог, кроме вот этого обсуждения на форуме Как удалить строки содержащие NULL в таблице где NULL недопустимо. Зацепок решения не было. Но все же решение было найдено. Читаем… ниже.

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

Итак, начнем с первого факта возникновения ошибки при выполнении тестирования и исправления базы данных на этапе реструктуризации таблиц базы данных.

1С 8 критическая ошибка по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец , таблицы   ".dbo."; в столбце запрещены значения NULL. Ошибка в INSERT.

Кнопка «Подробно…»:

1С 8, конфигуратор, тестирование, как исправить ошибку HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

Полный текст ошибки:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец «_Fld412», таблицы «Торговля.dbo._Reference19NG»; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

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

Исполняемый код обработки прост:

Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
               | БанковскиеСчета.Ссылка
               |ИЗ
               | Справочник.БанковскиеСчета КАК БанковскиеСчета»;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
       СпрОбъект = Выборка.Ссылка.ПолучитьОбъект();
       СпрОбъект.Записать();
КонецЦикла;

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

1C 8 как исправить ошибку при тестировании и исправлении в конфигураторе В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0

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

Тестирование и исправление было запущено повторно. Но уже вскоре после запуска процедуры в режиме реструктуризация таблиц базы мен ожидала идентичная ошибка, но уже связанная со справочником «Организации».

Новый текст ошибки отличался лишь немногим, названием таблицы и именем столбца:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец «_Fld888», таблицы «Торговля.dbo._Reference66NG»; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

1С 8 ошибка в конфигураторе как исправить Не удалось вставить значение NULL в столбец "_Fld888", таблицы   "Торговля.dbo._Reference66NG"; в столбце запрещены значения NULL. Ошибка в INSERT.

По опыту предыдущей инцидента уже казалось понятным, что в справочнике у какого-то элемента не заполнены данные. Так и оказалось. Проблемный элемент справочника был найден мгновенно и в этом случае повезло больше элемент можно было пометить на удаление, был помечен и удален с помощью «Удаление помеченных объектов».

1С предприятие 8 ошибка при тестировании базы как устранить HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

Тестирование и исправление было запущено в третий раз. Но и этот раз не обошелся без «критической ошибки в процессе обновления информационной базы».

Текст третьей ошибки:
В процессе обновления информационной базы произошла критическая ошибка
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец «_Fld1024RRef», таблицы «Торговля.dbo._Reference88NG»; в столбце запрещены значения NULL. Ошибка в INSERT.
HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

1С 8 конфигуратор ошибка при тестировании и исправлении, реструктуризация таблиц информационной базы, В процессе обновления информационной базы произошла критическая ошибка по причине: Ошибка СУБД:

Но и в этот раз программа оставила подсказку, что проблема содержится в записях справочника «ТипыЦенНоменклатурыКонтрагентов».

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

1С 8 ошибка конфигуратора Microsoft SQL Server Native Client 11.0: Не удалось вставить значение NULL в столбец таблицы   dbo, в столбце запрещены значения NULL. Ошибка в INSERT. HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=2, Severity=10, native=515, line=1

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

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

31-10-2018

Журавлев А.С.
(Сайт azhur-c.ru)

Ошибка: wget: unable to resolve host address    оглавление    Контроль за выполнением обработчиков обновления

2020-12-17T16:16:54+00:00

Именно такая ошибка начала появляться у пользователя обновлятора при выгрузки базы в DT после перехода на версию платформы 1с 8.3.11.2954. Ошибка повторялась в том числе при выгрузке базы из конфигуратора.

Вот, что он выяснил:

Причину данной ошибки нашел на форумах. Тех поддержка так и не ответила еще. Вообщем, данная ошибка на последнем релизе платформы клиент-серверного варианта. Исправляется с помощью проведения «Тестирования и Исправления» с выбранным параметром «Реструктуризация таблиц». Но перед этим действием лучше сделать бэкап баз стандартными функциями MSSQLServer. Примечание: так как баз много, в моем случае, Тестирование и Исправление я делал посредством обновлятора-1с. Выбрал все базы и поставил на реструктуризацию.

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Владимир Милькин

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Ошибка: wget: unable to resolve host address    оглавление    Контроль за выполнением обработчиков обновления
   cheker89

17.02.16 — 15:59

—————————

Внимание!

—————————

Ошибка создания информационной базы:

Ошибка операции администрирования

Ошибка при выполнении операции с информационной базой

Ошибка СУБД:

Microsoft SQL Server Native Client 10.0: Поставщик TCP: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.

HRESULT=80004005, HRESULT=80004005, HRESULT=80004005, SQLSrvr: SQLSTATE=08001, state=1, Severity=10, native=10061, line=0

—————————

ОК  

—————————

Вот такая ошиба

помогите разобраться

   Живой Ископаемый

1 — 17.02.16 — 16:02

с каких пор Гугл и Яндекс уже не теплые и не ламповые?

   cheker89

2 — 18.02.16 — 10:23

Через яндекс и гугл нашел самое стоящее это ваш форум с подобной темой. больше ни чего найти не удалось конкретного.

   ДенисЧ

3 — 18.02.16 — 10:32

файрвол?

   vde69

4 — 18.02.16 — 10:33

варианты

1. антивирус/брандмауер режет

2. не настроен Native Client на скуле, или нстроен на нестандартный порт

   shuhard

5 — 18.02.16 — 10:44

(2)[Через яндекс и гугл нашел самое стоящее это ваш форум с подобной темой]

прогиб не засчитан (с)

   cheker89

6 — 18.02.16 — 11:09

Брендмауэр, файрвол и т.д. исключаю. это на локальной машине всё, и на другой с теми же файрволами и антивирусами всё работает. можете пожалуйста подробней про настройку  Native Client на скуле?:

   vde69

7 — 18.02.16 — 11:13

   cheker89

8 — 18.02.16 — 16:42

теперь вот такое дерьмо пишет

—————————

Внимание!

—————————

Ошибка создания информационной базы:

Ошибка операции администрирования

Ошибка при выполнении операции с информационной базой

Ошибка СУБД:

Microsoft SQL Server Native Client 10.0: Named Pipes Provider: Could not open a connection to SQL Server [2].

HRESULT=80004005, HRESULT=80004005, HRESULT=80004005, SQLSrvr: SQLSTATE=08001, state=1, Severity=10, native=2, line=0

—————————

ОК  

—————————

   vde69

9 — 18.02.16 — 19:06

прав мало…

создай вручную пустую базу в скуле и пропиши юзера как овнен базы

   cheker89

10 — 19.02.16 — 09:49

так я так и делаю(((( Сначала пустую базу, потом в сервере 1с предприятия её добавляю.

   cheker89

11 — 19.02.16 — 09:54

Всё пацаны, разобрался, почему то мой sql сервак теперь стал называться не DC как был раньше, а DCSQL_DC вот и всё. а так всё пашет. Всем спасибо.

  

vde69

12 — 19.02.16 — 09:58

у пользователя который будет прописан в сервере 1с должны быть

1. роль паблик

2. права к твоей базе паблик + дбо

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

Я думаю каждый хоть раз, но сталкивался с ошибкой 1С Соединение с сервером баз данных разорвано администратором Microsoft SQL Server Native Client 10.0: Неопознанная ошибка HRESULT=80004005

Вот некоторые способы, которые помогут решить данную проблему:

1. Проверить конфигурацию на наличие некорректной информации (мусора). Для этого следует выполнить команду “Проверка конфигурации” с установленным флажком “Проверка логической целостности конфигурации”. При выявлении проблем будет выдано сообщение. Некорректная информация при этом будет удалена автоматически, однако следует обеспечить доступность для изменения корневого объекта конфигурации (напимер, при работе с хранилищем его следует захватить).

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

3. Также с этой ситуацией пересекается следующая ситуация:
10007066 Запись данных, содержащих колонки типа ХранилищеЗначения
Проблема:
При использовании СУБД MS SQL SERVER при записи объекта базы данных, содержащего несколько колонок типа ХранилищеЗначения, данные для которых получены из файлов, может происходить ошибка
Ошибка СУБД:Microsoft OLE DB Provider for SQL Server: String data length mismatchHRESULT=80004005и аварийное завершение работы программы.

Включив технологический журнал на время загрузки, можно определить таблицу, в которой содержатся такие хранилища. Найдите средствами MS SQL Server Query Analizer в этой таблице колонки типа image. Для каждой колонки типа image выполните запрос вида:

S_elect top 10 DATALENGTH(_Fld4044)
from _InfoReg4038
order by DATALENGTH(_Fld4044) desc

Нюансы: обратите внимание, что ”Стандартные проверки” платформой (chdbfl, в конфигураторе) упорно говорят, что с базой все ОК.

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

1С:Предприятие 8.2. Лицензия на сервер (x86-64)

По опыту проблема связана с хранением данных в реквизите хранилище значений либо наличием в таблице config двоичных данных БОЛЬШЕ 120 mb.

Обобщенные рекомендации, если рекомендации от 1С не помогли (проделать следующие действия в указанном порядке):

1. Выключить все фоновый задачи у всех баз
В 8.1.11 появился переключатель “запрет на фоновые задания” в
момент создания базы.

Готов пояснить, фоновые задания сами по себе не зло, но регламентные процедуры
с полнотекстовым поиском – вещь в себе – и память она может через какое время
съедать ресурсы rphost.exe, что на другие операции не останеться, и просто
базу блокировать
т.е. другими словами, после первого шага уже можно проверять – возможно проблема “уйдет”.

2. Перезапустить сервер
Второй шаг является частным случаем для вашего случая и после него тоже
есть смысл проверять работоспособность. Однако поскольку существуют утечки памяти http://www.gilev.ru/1c/memleak, то через некоторое время после рестарта пролема может вернуться.

3) делаем бэкап средствами sql
Делать резервное копирование рекомендую при любых действиях, когда может потребоваться “возврат” к предыдущему состоянию данных

4) снимаем базу с поддержки, выгружаем cf
убиваем в менеджмент консоли базе данных в таблице config запись более 120Мб, делаем “загрузить конфигурацию” (не объединение) убиваем в менеджмент консоли базе данных в таблице config запись более 120Мб, делаем “загрузить конфигурацию” (не объединение)

вот пример работоспособности этого приема
http://partners.v8.1c.ru/forum/thread.jsp?id=543293

или

1. Открыть конфигратор;
2. Снял конфигурацию с поддержки, ПРИ ЭТОМ КОНФИГУРАЦИЮ НЕ СОХРАНЯЛ!
3. Далее Сохранить конфигурацию в файл (не сохраняя измененной конфигурации);
4. В SQL для требуемой базы выполнил следующую команду:
DELETE FROM dbo.Config WHERE DataSize > 125829120
5. Загрузить сохраненную конфигурацию обратно.

Взято с http://www.forum.mista.ru/topic.php?id=465608

можно попробовать и более радикальный шаг здесь:
удаляем (в менеджмент консоли) в базе данных таблицу “config”
D_rop TABLE [dbo].[Config]

5) делаем “загрузить конфигурацию” (не объединение) из cf
после этого проверяем, проблема уходит.

6) Ошибка :»Соединение с сервером баз данных разорвано администратором
Microsoft OLE DB Provider for SQL Server: Неопознанная ошибка
HRESULT=80004005″

Имеем : 1C 8.1.13.41 УПП 1.2.19.21 на MS SQL 2005 SP3 на Win2003 Server Enterprise на компе 4Gb физ. памяти (SQL настроен на Max Memory 2Gb)

Решение в моем случае:
Виндовс по-умолчанию 2Гб берет себе, а 2 отдает нам. SQL почти всю остальную память поедал (в настройках стоит 2Gb) и оставлял для всех остальных только 128Мб физ. памяти(как и положено SQL- он не должен забирать ВСЁ, должен 128 оставить). Ошибка 1С начала проявляться после перехода на релиз 1.2.21.1. Да, действительно, в релизе 1.2.19.1 в файле dbo.Config не было записей больше 120Мб. А вот после обновления на 1.2.21.1 такая запись (примерно 135мб )появляется. При снятии с поддержки запись исчезает сама, и ничего удалять не приходится. При постановке на поддержку -снова появляется… Я так понял, что это и есть конфигурация поставщика.
Если SQL оставляет всего 128, а надо целых 135, то вывод- надо дать рабочим процессам живую физическую память. Moжно урезать SQL. А можно винды. Установив в boot.ini ключ /3GB я тем самым отдал виндам 1Gb, а всему остальному 3Gb, а не 2/2 как по умолчанию. После перезагрузки — все ОК.

У Вас есть свое решение!? оставьте его в комментариях)

Понравилась статья? Поделить с друзьями:
  • 1с ошибка совместного доступа к файлу linux
  • 1с ошибка совместного доступа к файлу ecc reg
  • 1с ошибка совместного доступа к файлу configcachestorage
  • 1с ошибка совместного доступа к файлу 32 0x00000020
  • 1с ошибка сеанс работы завершен администратором