Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Takeda.ru
Member

Откуда:
Сообщений: 17
Столкнулся я с этой ошибкой на уже длительное время действующем проекте, причем проявляется она совершенно произвольно и при соединении с SQL сервером из различных (не обязательно одних и тех же) скриптов. Причем одни скрипты могут потерять доступ, а в это время другие - спокойно обращаться к БД. Т.е. мне так и не удалось установить комбинацию действий гарантировано приводящую к появлению ошибки. Проект достаточно нагружен и общение с БД интенсивное. Проект состоит из двух серверов, на одном Win2003 и IIS с множеством сайтов, которые интенсивно работают (почти все) с одной БД на другом сервере с Win2003 и SQL 2005 Standard. Никаких настроек для использования SSL не делалось, все стандартно. Везде стоят самые последние сервиспаки и обновления. Более того, раньше все работало нормально и подобной проблемы не замечалось вообще. Временно, проблема решается легко: достаточно рестартануть IIS. Но в скором времени (может десять минут, а может и день-два) проблема вновь дает о себе знать.

Полный текст ошибки выглядит так:

Microsoft OLE DB Provider for SQL Server error '80004005'
[DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.
/file.asp, line 19

На этой самой 19-й строчке происходит соединение с БД:
dbc.open ("uid="+uidSQL+"; password="+passwordSQL+"; server="+serverSQL+"; database="+databaseSQL);
где используются:
	var databaseSQL = "databaseSQLname;Provider=SQLOLEDB.1";
	var dbc = Server.CreateObject("ADODB.Connection");

Версия SQL:
Microsoft SQL Server 2005 - 9.00.3233.00 (X64) Mar 6 2008 21:58:47 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

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

Заранее спасибо!
23 окт 08, 00:29    [6343686]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36639
https://www.sql.ru/forum/actualtopics.aspx?search=SECDoClientHandshake&submit=%CD%E0%E9%F2%E8&bid=1
23 окт 08, 00:46    [6343711]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Takeda.ru
Member

Откуда:
Сообщений: 17
Гавриленко Сергей Алексеевич,

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

SSL encryption
Обсуждается как установить сертификаты и настроить соединение через SSL. Повторю: "Никаких настроек для использования SSL не делалось, все стандартно." Это означает, что на SQL-сервере не включался Force protocol encryption.

Ошибка SSL
Человек сообщает, что он вообще не может соединиться с SQL, а его отправляют в поиск, т.е. информативность данного топика близка к нулю.

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

WinXPSP2 "Вход в SQL-сервер Microsoft. Подключение не выполнено:
Человек не может подключиться к SQL 2000 и его отправляют в большую статью под названием "Разрешение проблем подключения к SQL Server 2000". Информация о том как "SQL Server 2000 поддерживает несколько способов взаимодействия экземпляра SQL Server и клиентского приложения.", к сожалению, мне не помогла в решении имеющейся проблемы, т.к. и версия SQL другая, да и соединение есть и работает, вот только не всегда. Если есть возможность - подскажите пожалуйста, какие моменты наиболее тщательно следует проверить из этой статьи?

Помогите с установкой
С установкой проблем нет.

забодала trusted SQL Server connection
Здесь вообще подобная ошибка затесалась случайно в результате цельного копипаста статьи по другой проблеме, где есть ссылка на статью которая описывает проблемы при использовании сертификатов на каналах с низкой пропускной способностью. Такой проблемы у нас нет.

не могу подключиться к серверу...
Здесь описывается постоянная проблема с подключением из-за установленного центра сертификации. Центр сертификации ни на одном из серверов не установлен и проблема не постоянна.

Не устанавливается SQL-сервер 2000
SQL сервер был установлен без каких-либо проблем.

Protocol Encryption
Здесь описывается "как включить шифрование SSL для сетевых протоколов в MS SQL Server 2000". Шифрование на SQL Server 2005 выключено и включение его не планируется. Кстати, человеку в этом топике так же не помогли.

Если я что-то упустил или не правильно истолковал - прошу меня поправить.

PS. С поиском я знаком.
23 окт 08, 02:04    [6343760]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Glory
Member

Откуда:
Сообщений: 104764
Takeda.ru

Если я что-то упустил или не правильно истолковал - прошу меня поправить.

PS. С поиском я знаком.

Разве не выглядит нелогичным сообщение, которое происходит при windows authntication, но фоне вашей строки коннекта по sql authentication ?
Вы уверены, что ваше веб приложение открывает коннект именно так, как вы пишите ?
23 окт 08, 10:29    [6344412]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Takeda.ru
Member

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

Спасибо.
23 окт 08, 11:34    [6344987]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Glory
Member

Откуда:
Сообщений: 104764
Takeda.ru
К сожалению, ничего нелогичного я не вижу, по этому и прошу помочь мне это увидеть.

Хм. А зачем серверу при sql authentication выдавать сообщение как при windows authenticatuion ?

Takeda.ru

Теоретически, соединение открывается именно так, как я и написал.

Т.е. вы не знаете, что происходит практически при выполнении вашего кода ?
23 окт 08, 11:39    [6345029]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Takeda.ru
Member

Откуда:
Сообщений: 17
Glory

Хм. А зачем серверу при sql authentication выдавать сообщение как при windows authenticatuion ?

Это вопрос на который я не смогу вам ответить :) Вы можете пояснить что вы имели ввиду?

Glory

Т.е. вы не знаете, что происходит практически при выполнении вашего кода ?


Нет, к сожалению не знаю. Я не программист, а лишь администратор. Мне небходимо локализовать проблему и указать на нее программистам, т.к. почему-то самостоятельно они этого сделать не могут.
23 окт 08, 11:54    [6345196]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Glory
Member

Откуда:
Сообщений: 104764
Takeda.ru
Glory

Хм. А зачем серверу при sql authentication выдавать сообщение как при windows authenticatuion ?

Это вопрос на который я не смогу вам ответить :) Вы можете пояснить что вы имели ввиду?


Я имею ввиду то, что ваше приложение работает неправильно. И открывает коннект с другими параметрами. В частности меняет режим авторизации.
23 окт 08, 11:55    [6345211]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Takeda.ru
Member

Откуда:
Сообщений: 17
Glory
Takeda.ru
Glory

Хм. А зачем серверу при sql authentication выдавать сообщение как при windows authenticatuion ?

Это вопрос на который я не смогу вам ответить :) Вы можете пояснить что вы имели ввиду?


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


Вот как! Буду признателен, если вы поможете мне понять: что навело вас на такую мысль? Что именно не так в строке коннекта? В какой момент перестает работать SQL авторизация и начинает работать Windows авторизация?
Именно ваши подсказки начинают проливать хоть какой-то свет на природу проблемы :)
23 окт 08, 12:27    [6345512]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Glory
Member

Откуда:
Сообщений: 104764
Takeda.ru
Glory
Takeda.ru
Glory

Хм. А зачем серверу при sql authentication выдавать сообщение как при windows authenticatuion ?

Это вопрос на который я не смогу вам ответить :) Вы можете пояснить что вы имели ввиду?


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


Вот как! Буду признателен, если вы поможете мне понять: что навело вас на такую мысль? Что именно не так в строке коннекта? В какой момент перестает работать SQL авторизация и начинает работать Windows авторизация?
Именно ваши подсказки начинают проливать хоть какой-то свет на природу проблемы :)

Я что непонятно выражаюсь ?
Как при одном виде авторизации может выдаваться ошибка от другого вида авторизации ?
23 окт 08, 12:30    [6345535]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Takeda.ru
Member

Откуда:
Сообщений: 17
Значит не понятно. :(
Если можно, разъяснение для таких глупых как я. Давайте проанализируем строку коннекта. Я приведу весь кусок кода, заменив значения констант.

	uidSQL = "constanta1"
	passwordSQL = "constanta2"
	serverSQL = "constanta3"
	databaseSQL = "constanta4;Provider=SQLOLEDB.1"
	Set dbc = Server.CreateObject("ADODB.Connection")
	dbc.open "driver={"+driver+"}; uid="+uidSQL+"; password="+passwordSQL+"; server="+serverSQL+"; database="+databaseSQL

Тут не пахнет никакой Windows авторизацией. Что характерно, все именно с такими параметрами работает продолжительное время. А в какой-то момент вылетает ошибка, о которай я писал. Везде далее после определения констант открытие соединеня с БД происходит строкой:

dbc.open "driver={"+driver+"}; uid="+uidSQL+"; password="+passwordSQL+"; server="+serverSQL+"; database="+databaseSQL

Не сочтите за труд немного растолковать, где искать проблему? Откуда вылазиеть Windows авторизация?
23 окт 08, 12:40    [6345619]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Glory
Member

Откуда:
Сообщений: 104764
Takeda.ru

Не сочтите за труд немного растолковать, где искать проблему? Откуда вылазиеть Windows авторизация?

Проблема в вашем приложении.
23 окт 08, 12:54    [6345770]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Takeda.ru
Member

Откуда:
Сообщений: 17
Ясно. И все же.

Можете подсказать любые зацепки или идеи, из-за чего может возникать подобная проблема? Что стоит проверить в первую очередь? Какие диагностические действия могут помочь в подобной ситуации?

Я прекрасна понимаю, что самое лучшее диагностическое действие, это нанять другого высококвалифицированного программиста и попросить проанализировать его код, но к сожалению, для этого нет никакой возможности.
23 окт 08, 13:51    [6346374]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36639
Takeda.ru
Ясно. И все же.

Можете подсказать любые зацепки или идеи, из-за чего может возникать подобная проблема? Что стоит проверить в первую очередь? Какие диагностические действия могут помочь в подобной ситуации?

Я прекрасна понимаю, что самое лучшее диагностическое действие, это нанять другого высококвалифицированного программиста и попросить проанализировать его код, но к сожалению, для этого нет никакой возможности.
Т.е. чтобы запустить отладчик и оладить код, нужен высококвалифицированный программист?
23 окт 08, 14:07    [6346574]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Takeda.ru
Member

Откуда:
Сообщений: 17
Господа. Если бы это можно было сделать, это уже было бы сделано. К сожалению - это не так. По каким причинам это сделать не удалось - не столь важно, суть вопроса не в этом. Цель немножко другая: разобраться в чем может причина данной ошибки и как можно помочь в ее обнаружении. Если идей нет - лучше ничего не писать, чем посылать в поиск или посылать учиться. Это и так очевидно, что если перечитать еще кучу книг, статей и журналов - все получится. Но это будет потом, когда-нибудь. А проблема есть сейчас. Разве не для этого люди объединяются в сообщества и помогают друг другу?
23 окт 08, 14:28    [6346764]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Glory
Member

Откуда:
Сообщений: 104764
Takeda.ru
Господа. Если бы это можно было сделать, это уже было бы сделано. К сожалению - это не так. По каким причинам это сделать не удалось - не столь важно, суть вопроса не в этом. Цель немножко другая: разобраться в чем может причина данной ошибки и как можно помочь в ее обнаружении. Если идей нет - лучше ничего не писать, чем посылать в поиск или посылать учиться. Это и так очевидно, что если перечитать еще кучу книг, статей и журналов - все получится. Но это будет потом, когда-нибудь. А проблема есть сейчас. Разве не для этого люди объединяются в сообщества и помогают друг другу?

А вы считаете, что программам с багами посвещена куча литературы ? В которой расисаны все баги всех программ на всех платформах ?
23 окт 08, 14:30    [6346780]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Takeda.ru
Member

Откуда:
Сообщений: 17
Конечно нет :)
Ладно, будем искать! Спасибо всем кто так или иначе учавствовал или сочувствовал. Если будет время, отпишу для будущих поколений в чем было дело, когда проблема будет решена.
23 окт 08, 14:33    [6346800]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Takeda.ru
Member

Откуда:
Сообщений: 17
Для будущих поколений :)

Окончательно установить причину проблемы до конца не удалось, но все размышления сводились к тому, что каким-то образом происходит влияние на строку соединения с базой и/или в результате - на способ авторизации в базе. Отсюда возникло предположение, что надо максимально исключить возможность взаимного влияния на эти переменные работающими скриптами, для чего были выявлены скрипты, на которых данная ошибка появлялась чаще всего, и были изолированы по отдельным пулам. После этого, ошибка не появлялась ни разу.
27 окт 08, 12:24    [6359040]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Glory
Member

Откуда:
Сообщений: 104764
Takeda.ru
Для будущих поколений :)

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

А возможно привести больше технических деталей - что и где было изменено ? В самих скриптах ? В конфигурационных файлах ? В настройках IIS ?
27 окт 08, 13:45    [6359639]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Решение  [new]
NEW.APX
Member

Откуда:
Сообщений: 1
Проблема связана с сертификатами доступа.
Лечение следующее:
Необходимо на сервере в регистре установить параметр
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]
"Certificate"=0 (тип REG_SZ)
16 апр 10, 14:13    [8641058]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
MS SQL DBA
Guest
NEW.APX,
Я бы ещё добавил, что есть ещё один параметр, с которым можно поиграться, мне помогло, когда установил
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Client\SuperSocketNetLib]
Encrypt=0
17 ноя 10, 12:59    [9794208]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
MsDatabaseru
Member

Откуда: Hobby.MsDatabase.ru
Сообщений: 10939
между филиалом и головным офисом сделали VPN
появилась задача установить клиента базы данных чтобы подключался к серверу бд через VPN
порт 1433 открыт
пинг 11мс, канал мегабит
попытка соединиться serverip,1433 приводит к ошибке [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.
при попытке соединения из локальной сети с этими же параметрами конекта отлично рботает
телнет к порту тсп 1433 подключается через vpn

сервер win 2008 mssql 2005
принудительное шифрование выключено

рекомендованное тут
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib]
"Certificate"=0 (тип REG_SZ)
на сервере бд сделал, перезагрузил машину
кусок реестра выглядит так
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\instname\MSSQLServer\SuperSocketNetLib]
"ProtocolList"=hex(7):74,00,63,00,70,00,00,00,6e,00,70,00,00,00,00,00
"Certificate"="0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\instname\MSSQLServer\SuperSocketNetLib\Np]
"PipeName"="\\\\.\\pipe\\MSSQL$DATASERVER2000\\sql\\query"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\instname\MSSQLServer\SuperSocketNetLib\Tcp]
"TcpPort"="1433"



по [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Client\SuperSocketNetLib]
Encrypt=0
у себя не нашел ветки "client" создать?

таймаут на клиенте увеличивал до 1000 сек. четно тупит 1000сек потом дает ошибку.
был ли у кого опыт подключения с серверу бд через vpn?
13 янв 16, 11:26    [18671469]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7332
MsDatabaseru,

потеря пакетов в сети, какие-то хитрые запреты на файрволе, некорректная маршрутизация. Подключайте сисадминов. При хорошо работающей сети проблем с VPN нет.
13 янв 16, 13:56    [18672629]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
Konst_One
Member

Откуда:
Сообщений: 11508
https://msdn.microsoft.com/ru-ru/library/cc646023(v=sql.120).aspx

- udp 1434
- IPSec UDP-порты 500 и 4500
13 янв 16, 14:03    [18672681]     Ответить | Цитировать Сообщить модератору
 Re: Плавающая ошибка [DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error.  [new]
invm
Member

Откуда: Москва
Сообщений: 9079
MsDatabaseru
был ли у кого опыт подключения с серверу бд через vpn?
Подключение к SQL Server через VPN ничем не отличается от обычного.
А вот ошибка говорит что, вы пытаетесь задействовать шифрование средствами SQL.
13 янв 16, 14:50    [18672970]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить