Соединение с сервером баз данных разорвано администратором или Неопознанная ошибка HRESULT 80004005
Соединение с сервером баз данных разорвано администратором или Неопознанная ошибка 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Мб, делаем “загрузить конфигурацию” (не объединение) вот пример работоспособности этого приема 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 как по умолчанию. После перезагрузки - все ОК. У Вас есть свое решение!? оставьте его в комментариях)