Ошибка соединения с сервером 1С и ошибка формата потока.

Ошибка соединения с сервером 1С и ошибка формата потока.

При подключении к серверу 1С из консоли получаем:

Ошибка соединения с сервером 1С:Предприятия 8.2: Ошибка на сервере или соединение разорвано администратором Ошибка формата потока

При запуске SQL базы получаем ошибку:

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

И так, исходные данные:

Свежеустановленная Windows 7 Professional x64, все апдейты и т.д. (проблема имеет место и на Server 2008 и на 2008R2)

Произведена установка платформы 1С 8.2 (тестировались релизы 8.2.16.368, 8.2.16.363, 8.2.15.319)

Установлен сервер 1C x64 (32битный тоже пробовал)

Все работает до перезагрузки. После перезагрузки при попытке подключения к базе в SQL или открытии кластера в консоли 1С получаем отлуп с такими картинками:

При подключении к серверу 1С из консоли получаем:

Ошибка соединения с сервером 1С:Предприятия 8.2:Ошибка на сервере или соединение разорвано администраторомОшибка формата потока

При запуске SQL базы получаем ошибку:

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

Для возможности запуска базы и подключения к кластеру из консоли помогало только:

1. Остановка службы сервера 1С:Предприятия 8.2

2. Удаление процессов rmngr.exe rphost.exe (сам вылетает при завершении rmngr.exe ).

3. Очистка каталога C:\Program Files\1cv82\srvinfo\reg_1541\snccntx (у 32 битного сервера C:\Program Files (x86)\1cv82\srvinfo\reg_1541\snccntx)

4. Запуск службы сервера 1С:Предприятия 8.2

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

1. различные релизы, различные серверы,

2. различные пользователи: Система, Администратор, USR1CV82.

3. принудительное выставление полных прав этим пользователям на каталоги C:\Program Files\1cv82\ (у 32 битного сервера C:\Program Files (x86)\1cv82\) с наследованием на дочерние объекты.

4. десятки перезагрузок и многое другое.

Однако причина оказалась куда более неожиданной!

Разыменование в Windows 7 (Server 2008, 2008R2, вероятно и 2012)

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

Выполнить это просто:

1. Запустите командную строку (Win+R, наберите cmd и нажмите ОК)

2. В командной строке наберите команду "Ping" пробел и имя вашего компьютера. Именно имя, а не его IP адрес. Нажмите Enter.

3. Если система начала пинговать себя через адрес вида fabc:de12:3456:7890:ABCD:EF98:7654:3210, или другой отличный от Вашего IP адрес

- добро пожаловать в частный клуб багофичи разыменования по версии Windows 7.

Основа проблемы кроется в том, что 1С сервер не может по имени определить себя.

А вот, отображение Вашего IP в виде IPv6 - одна из самых частых причин возникновения этой ошибки.

Еще одной из причин может быть периодическое подключение к другой сети (допустим ВПНу) когда создается новый интерфейс и Винда опять же начинает разыменовывать себя "неправильно".

Ниже я опишу два решения для обхода этой "особенности".

Предварительно хочу предупредить:

Все действия с Вашим компьютером Вы производите на свой страх и риск.

Человек выполняющий мои рекомендации должен понимать Что и Почему он делает.

Вариант №1 Добавить в Hosts свой ПК и его IP

1. Нужно найти файлик hosts в папке C:\Windows\System32\drivers\etc Если в этой папке Вы не видите файлик Hosts, значит он просто скрыт. Тогда можно нажать клавишу ALT и, в появившемся меню, выбрать "Сервис"-"Параметры папок"-"Вид" и снять там галочку "Скрывать защищенные системные файлы". Можно еще установить переключатель "Показывать скрытые файлы, папки, диски", тогда вообще все будет видно. (После манипуляций с Hosts, рекомендую вернуть галочку на ее прежнее место, что бы случайно чего не зацепить в будущем)

2. Открыть этот файлик в Notepad (блокнот) и в конец дописать строку вида 192.168.0.1 Server (IPадрес ИмяПК). Сохранить и закрыть файлик.

3. Попробовать заново пропинговать свой ПК через имя. Если Вы снова не видите нужно IP - что-то пошло не так. Возможно антивирус вернул старую версию файла (Каспер такое любит) или что-то еще.

В общем нужно добиться правильного адреса при пинге через имя.

Вариант №2 Отключить полностью протокол IPv6 (http://support.microsoft.com/kb/929852)

  1. Нажмите Win+R, напишите regedit и нажмите Enter. Откроется редактор реестра.
  2. Если появиться запрос на разрешение действий, нажмите в диалоговом окне Контроль учетных записей пользователей кнопку Продолжить.
  3. Найдите и выберите следующий подраздел реестра:
  1. Находясь на ветке Parameters, в меню Правка выберите пункт Создать, а затем — Параметр DWORD (32 бита).
  2. Введите DisabledComponents и нажмите клавишу ВВОД.
  3. Дважды щелкните пункт DisabledComponents.
  4. Введите значение ffffffff , а затем нажмите кнопку ОК.
  5. Перегрузить компьютер.

Выглядеть должно так:

Таким образом Вы отключите протокол IPv6 полностью и Винда не будет использовать его IP вдрес для разименования.

ВАЖНО.

Обязательно пропингуйте свой ПК через имя и убедитесь, что пинги идут на правильный IP адрес. Не всегда, с первого раза, удается отключить IPv6 (то имя параметра не совсем правильное, то значение. )

Хочу напомнить, что оба решения не являются панацеей, и не самом деле позволяют обойти ошибку, а не устранить ее причину.

📎📎📎📎📎📎📎📎📎📎