Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
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] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37139 |
https://www.sql.ru/forum/actualtopics.aspx?search=SECDoClientHandshake&submit=%CD%E0%E9%F2%E8&bid=1 |
23 окт 08, 00:46 [6343711] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Разве не выглядит нелогичным сообщение, которое происходит при windows authntication, но фоне вашей строки коннекта по sql authentication ? Вы уверены, что ваше веб приложение открывает коннект именно так, как вы пишите ? |
||
23 окт 08, 10:29 [6344412] Ответить | Цитировать Сообщить модератору |
Takeda.ru Member Откуда: Сообщений: 17 |
К сожалению, ничего нелогичного я не вижу, по этому и прошу помочь мне это увидеть. Теоретически, соединение открывается именно так, как я и написал. Если практически это сомнительно, прошу помочь указать на недостатки этой строки соединения. Спасибо. |
23 окт 08, 11:34 [6344987] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Хм. А зачем серверу при sql authentication выдавать сообщение как при windows authenticatuion ?
Т.е. вы не знаете, что происходит практически при выполнении вашего кода ? |
||||
23 окт 08, 11:39 [6345029] Ответить | Цитировать Сообщить модератору |
Takeda.ru Member Откуда: Сообщений: 17 |
Это вопрос на который я не смогу вам ответить :) Вы можете пояснить что вы имели ввиду?
Нет, к сожалению не знаю. Я не программист, а лишь администратор. Мне небходимо локализовать проблему и указать на нее программистам, т.к. почему-то самостоятельно они этого сделать не могут. |
||||
23 окт 08, 11:54 [6345196] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Я имею ввиду то, что ваше приложение работает неправильно. И открывает коннект с другими параметрами. В частности меняет режим авторизации. |
||||
23 окт 08, 11:55 [6345211] Ответить | Цитировать Сообщить модератору |
Takeda.ru Member Откуда: Сообщений: 17 |
Вот как! Буду признателен, если вы поможете мне понять: что навело вас на такую мысль? Что именно не так в строке коннекта? В какой момент перестает работать SQL авторизация и начинает работать Windows авторизация? Именно ваши подсказки начинают проливать хоть какой-то свет на природу проблемы :) |
||||||
23 окт 08, 12:27 [6345512] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Я что непонятно выражаюсь ? Как при одном виде авторизации может выдаваться ошибка от другого вида авторизации ? |
||||||||
23 окт 08, 12:30 [6345535] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Проблема в вашем приложении. |
||
23 окт 08, 12:54 [6345770] Ответить | Цитировать Сообщить модератору |
Takeda.ru Member Откуда: Сообщений: 17 |
Ясно. И все же. Можете подсказать любые зацепки или идеи, из-за чего может возникать подобная проблема? Что стоит проверить в первую очередь? Какие диагностические действия могут помочь в подобной ситуации? Я прекрасна понимаю, что самое лучшее диагностическое действие, это нанять другого высококвалифицированного программиста и попросить проанализировать его код, но к сожалению, для этого нет никакой возможности. |
23 окт 08, 13:51 [6346374] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37139 |
|
||
23 окт 08, 14:07 [6346574] Ответить | Цитировать Сообщить модератору |
Takeda.ru Member Откуда: Сообщений: 17 |
Господа. Если бы это можно было сделать, это уже было бы сделано. К сожалению - это не так. По каким причинам это сделать не удалось - не столь важно, суть вопроса не в этом. Цель немножко другая: разобраться в чем может причина данной ошибки и как можно помочь в ее обнаружении. Если идей нет - лучше ничего не писать, чем посылать в поиск или посылать учиться. Это и так очевидно, что если перечитать еще кучу книг, статей и журналов - все получится. Но это будет потом, когда-нибудь. А проблема есть сейчас. Разве не для этого люди объединяются в сообщества и помогают друг другу? |
23 окт 08, 14:28 [6346764] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А вы считаете, что программам с багами посвещена куча литературы ? В которой расисаны все баги всех программ на всех платформах ? |
||
23 окт 08, 14:30 [6346780] Ответить | Цитировать Сообщить модератору |
Takeda.ru Member Откуда: Сообщений: 17 |
Конечно нет :) Ладно, будем искать! Спасибо всем кто так или иначе учавствовал или сочувствовал. Если будет время, отпишу для будущих поколений в чем было дело, когда проблема будет решена. |
23 окт 08, 14:33 [6346800] Ответить | Цитировать Сообщить модератору |
Takeda.ru Member Откуда: Сообщений: 17 |
Для будущих поколений :) Окончательно установить причину проблемы до конца не удалось, но все размышления сводились к тому, что каким-то образом происходит влияние на строку соединения с базой и/или в результате - на способ авторизации в базе. Отсюда возникло предположение, что надо максимально исключить возможность взаимного влияния на эти переменные работающими скриптами, для чего были выявлены скрипты, на которых данная ошибка появлялась чаще всего, и были изолированы по отдельным пулам. После этого, ошибка не появлялась ни разу. |
27 окт 08, 12:24 [6359040] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А возможно привести больше технических деталей - что и где было изменено ? В самих скриптах ? В конфигурационных файлах ? В настройках IIS ? |
||
27 окт 08, 13:45 [6359639] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
NEW.APX Member Откуда: Сообщений: 1 |
Проблема связана с сертификатами доступа. Лечение следующее: Необходимо на сервере в регистре установить параметр [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib] "Certificate"=0 (тип REG_SZ) |
16 апр 10, 14:13 [8641058] Ответить | Цитировать Сообщить модератору |
MS SQL DBA
Guest |
NEW.APX, Я бы ещё добавил, что есть ещё один параметр, с которым можно поиграться, мне помогло, когда установил [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Client\SuperSocketNetLib] Encrypt=0 |
17 ноя 10, 12:59 [9794208] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
MsDatabaseru Member Откуда: Hobby.MsDatabase.ru Сообщений: 10938 |
между филиалом и головным офисом сделали 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] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8303 |
MsDatabaseru, потеря пакетов в сети, какие-то хитрые запреты на файрволе, некорректная маршрутизация. Подключайте сисадминов. При хорошо работающей сети проблем с VPN нет. |
13 янв 16, 13:56 [18672629] Ответить | Цитировать Сообщить модератору |
Konst_One Member Откуда: Сообщений: 11561 |
https://msdn.microsoft.com/ru-ru/library/cc646023(v=sql.120).aspx - udp 1434 - IPSec UDP-порты 500 и 4500 |
13 янв 16, 14:03 [18672681] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9633 |
А вот ошибка говорит что, вы пытаетесь задействовать шифрование средствами SQL. |
||
13 янв 16, 14:50 [18672970] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |