Куперс

Бухучет и анализ

1С hresult 80004005

Я думаю каждый хоть раз, но сталкивался с ошибкой 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Мб, делаем «загрузить конфигурацию” (не объединение)
вот пример работоспособности этого приема

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 .
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 как по умолчанию. После перезагрузки — все ОК.
У Вас есть свое решение!? оставьте его в комментариях)


====================
====================
Проверено, вирусов нет!
Загрузок: 8256

1с ошибка субд microsoft sql server native client 11.0 hresult 80040e37

Форум 1С программирование, форум: общие вопросы. Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Не удалось найти объект tt5 , так как он не существует. HRESULT=80040E37, SQLSrvr: SQLSTATE=42S02, state =1. HRESULT=80004005, SQLSrvr: SQLSTATE=25000, state=1. по причине: Ошибка СУБД: Microsoft SQL Server Native Client 10.0: Недопустимое имя объекта tt1. HRESULT=80040E37, SQLSrvr. Модуль(384) : Ошибка СУБД: Microsoft SQL Server Native Client 10.0: Cannot find the object tt1 because it does not exist or. 1С. Полный текст ошибки, который может встретиться. Модуль(384) : Ошибка СУБД: Microsoft SQL Server Native Client 10.0: Не удалось найти объект. HRESULT=80040E37, SQLSrvr: SQLSTATE=42S02, state=1. Расшифровку ошибок MS SQL Server смотрите здесь!. HRESULT= 80040E4D, SQLSrvr: Error state=1, Severity=E, native=18456, line=1. Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: Invalid column name _ Q_268_F_001. Ошибка при выполнении операции с информационной базой. Ошибка СУБД: Microsoft SQL Server Native Client 10.0: Named Pipes Provider: Could not. HRESULT=80004005, SQLSrvr: SQLSTATE=08001, state=1. Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm: по причине: Ошибка СУБД: Microsoft SQL Server Native Client 11.0.

Здравствуйте!
Есть один сервер. На нем стоит MS SQL, 1С сервер и терминально подключаются пользователи через RDP (до 80 пользователей).
В один прекрасный день при входе в клиент-серверную базу 1С всем пользователям начало выдавать ошибку:
Платформа: 1С:Предприятие 8.3 (8.3.5.1068)
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности, проверьте значения всех состояний OLE DB. Работа не выполнена.
HRESULT=80040E21,
Сервер перезагрузили. После перезагрузки пользователи при попытки зайти в базу видели ошибку:
Платформа: 1С:Предприятие 8.3 (8.3.5.1068)
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Ошибка выделения памяти
HRESULT=80004005,
При запуске Тестирования и исправление на проверку логической целостности к моменту завершения конфигуратор выдал критическую ошибку и завершил работу.
Сервер перезагрузили и после пользователи смогли зайти в 1С и нормально начать работу. Прошло пара дней и при входе в 1С снова вылезла ошибка:

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

96 пользователя считают данную страницу полезной. Информация актуальна! Страница была обновлена 16.12.2019

Ошибка возникает лишь с одной базой.

Ошибка при выполнении операции с информационной базой
Ошибка СУБД:
Microsoft SQL Server Native Client 10.0: Named Pipes Provider: Could not open a connection to SQL Server .
HRESULT=80004005, HRESULT=80004005, HRESULT=80004005, SQLSrvr: SQLSTATE=08001, state=1, Severity=10, native=53, line=0

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

Microsoft OLE DB Prov >

Ошибка может возникнуть в следующих ситуациях:

на SQL сервере установлен режим аутентификации «Windows only»;

к данным от Microsoft SQL Server 7.0 (MDAC 2.1) применяются клиентские компоненты;

на клиентском компьютере используется протокол «Multiprotocol» для доступа к SQL Server.

Чтобы исправить положение, желательно настроить доступ к SQL серверу.

Microsoft OLE DB Prov >

Ошибка могла возникнуть при перезагрузке SQL сервера во время работы сервера 1С:Предприятия. Если данная ошибка появилась, то необходимо перезагрузить также сервер 1С:Предприятия.

Microsoft OLE DB Prov >

Для начала, обратите внимание на идентификатор библиотеки, который записан в квадратных скобках. Список некоторых возможных значений представлен ниже:

DBNETLIB – библиотека, которая используется на клиенте SQL сервера для доступа к SQL серверу по любому протоколу.
dbnmpntw – протокол Named Pipes для Win32
dbmssocn – протокол Winsock TCP/IP для WIN32
dbmsspxn – протокол SPX/IPX для WIN32
dbmsvinn – протокол Banyan Vines для Win32
dbmsrpcn – протокол Multi-Protocol (Windows RPC) для Win32
dbnmp3 – протокол Named Pipes для Win16
dbmssoc3 – протокол Winsock TCP/IP для Win16
dbmsspx3 – протокол SPX/IPX для Win16
dbmsvin3 – протокол Banyan Vines для Win16
dbmsrpc3 – протокол Multi-Protocol (Windows RPC) для Win16

В данном примере при попытке обращения к серверу 1С:Предприятия по протоколу «Named Pipes» пользователю USER1CV8SERVER (от его имени работает сервер 1С:Предприятия) отказано в доступе системой безопасности того компьютера, на котором установлен SQL сервер. Чтобы исправить ошибку, следует либо использовать другой протокол, либо обеспечить компьютеру с SQL сервером возможность аутентификации пользователя USER1CV8SERVER.

Microsoft OLE DB provider for SQL Server: Cannot open database request in Login «upp». Login fails.

Если у Вас появилось такое сообщение, это говорит о нештатном завершении сервера 1С:Предприятия, когда информационная база находилась в монопольном режиме. В это время база данных SQL сервера остается в однопользовательском режиме, и сервер 1С:Предприятия не может к ней присоединиться. Чтобы исправить данную ошибку, запустите Microsoft SQL Server Enterprise Manager, войдите в свойства базы данных, где располагается информацианная база, и выключите однопользовательский режим.

Microsoft OLE DB prov >

Подобная ошибка может возникать, если для выполнения какого-то действия в 1С:Предприятии нужно перевести информационную базу в режим монопольного доступа, а перевод базы данных в однопользовательский режим невозможен из-за того, что к ней, вместе с сервером 1С:Предприятия, подсоединено еще какое-либо приложение. Для выполнения необходимых действий, которые требуют монопольный доступ к информационной базе, необходимо отключиться от соответствующей базы данных всеми другими приложениями. Приложения, которые подсоединены к базе данных, можно найти в Microsoft SQL Server Query Analyzer.

Особенности исполнения запросов SQL сервером

Главная причина возникновения следующих ошибок – особенности исполнения запросов SQL сервером Microsoft SQL Server. Ошибки могут возникать в следующих ситуациях:

достижение недокументированных программных ограничений SQL сервера;

проявление на конкретном SQL запросе ошибок Microsoft SQL Server.

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

Microsoft OLE DB prov >

Данная ошибка означает, что выражение, вложенное в агрегатные функции или использованное в разделе СГРУППИРОВАТЬ ПО, содержит вложенные запросы. Начиная с 1С:Предприятия 8.0.9.32, данную ошибку диагностирует компилятор языка запросов.

Microsoft OLE DB prov >

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

Microsoft OLE DB Prov >

Ошибка может возникать при исполнении сложных запросов. Если у Вас выскочило сообщение о такой ошибке, попробуйте видоизменить запрос.

Microsoft OLE DB prov >

Microsoft SQL Server 2000 и 2005 позволяют использовать в простом запросе не более 256 таблиц базы данных. Если количество таблиц превышает 256, то выдается сообщение об ошибке. Начиная с версии 8.0.11.3 платформа 1С:Предприятия выдает диагностику без завершения работы клиентского приложения.

Microsoft OLE DB prov >

Во избежание возникновения данной ошибки не используйте вложенных запросов с разделами «УПОРЯДОЧИТЬ ПО», если исходный запрос содержит операцию «ОБЪЕДИНИТЬ».

Microsoft OLE DB prov >

Данная ошибка возникает в случае группировки записей и вычисления агрегатных функций, если при этом группировка выполняется над результатом вложенного запроса, и длина записи результата этого запроса превышает 4000 байт. Причиной такой ошибки является неправильное вычисление Microsoft SQL Server 2000 максимальной длины результата операции SUBSTRING над полем неограниченной длины.

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

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

Microsoft OLE DB prov >

Данная ошибка возникает при выполнении функций над датами в том случае, когда в качестве результата получается слишком большая или слишком маленькая дата. Минимально допустимой датой является 1 января 1753 года, а максимально допустимой – 31 декабря 9999 года.

Ошибки размещения базы данных

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

Microsoft OLE DB prov >

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

Ошибки исполнения транзакций

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

Microsoft OLE DB prov >

Сообщение означает взаимную блокировку транзакций, начатых двумя или большим количеством пользователей. Если такое сообщение появляется часто, это свидетельствует о неудачных решениях, реализованных в конфигурации. Чтобы бороться со взаимной блокировкой, используют ключевое слово «ДЛЯ ИЗМЕНЕНИЯ» в языке запросов.

На ИТС часто даются описания кодов ошибок, но они не всегда исчерпывающие. В этой статье мы будем пытаться продолжать «исчерпывать» 🙂

При эсклуатации баз данных 1С вы можете сталкнуться с такой ситуацией:

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

Признаки проблемы: нельзя выгрузить в dt

Сотрудники 1С рекомендуют решать проблему так:

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

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

3. Также с этой ситуацией пересекается следующая ситуация:

10007066 Запись данных, содержащих колонки типа ХранилищеЗначения
Проблема:
При использовании СУБД MS SQL SERVER при записи объекта базы данных, содержащего несколько колонок типа ХранилищеЗначения, данные для которых получены из файлов, может происходить ошибка
Ошибка СУБД:Microsoft OLE DB Prov > Дата публикации: 2008-11-13

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

select 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Мб, делаем «загрузить конфигурацию» (не объединение)

вот пример работоспособности этого приема

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

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

можно попробывать и более радикальный шаг здесь:
удаляем (в менежмент консоли) в базе данных таблицу «config»

DROP TABLE .
5) делаем «загрузить конфигурацию» (не объединение) из cf

после этого проверяем, проблема уходит.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Наверх