Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Перехватить запросы  [new]
John не Адамс
Guest
В MS SQL я почти полный нуб, но вот есть задачка, есть программа, которая через ODBC соединяется с MS SQL 2000 базой и чего-то оно не работает на клиентской стороне, какие-то не те настройки или в самой базе или в odbc или клиенте. Очень бы хотелось тулзевину, чтобы можно было полный лог взаимодействия с базой увидеть: какой коннект (методы аутентификации, конкретные порты, логины пароли), какие запросы потом (если есть потом) с базой, ответы системы и т.п.

Что-то вот не нахожу сходу ничего такого, непонятно как отлаживать, если все что я знаю это сообщения, что не может соединиться, а почему - неясно, если отдельно через SQL Management все нормально получается.
22 ноя 13, 15:27    [15174959]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
Профайлер изучите.
22 ноя 13, 15:43    [15175112]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
o-o
Guest
Александр52
Профайлер изучите.

вот интересно, если с сервером _нет_соединения_, что покажет профайлер?
John не Адамс
если все что я знаю это сообщения, что не может соединиться, а почему - неясно
22 ноя 13, 15:47    [15175148]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
mag2000
Member

Откуда:
Сообщений: 187
John не Адамс,
Из Management Studio вы удаленно соединяетесь с сервером, или запускаете студию локально на сервере ?
Если запускали Management Studio локально на сервере, а клиентской программой пытались подключиться удаленно ( с другого компьютера), то начните с проверки удаленного соединения клиента с сервером, например по этим инструкциям:
https://www.sql.ru/faq/faq_topic.aspx?fid=564
22 ноя 13, 15:53    [15175218]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
o-o
Guest
сообщение об ошибке покажите полностью.
можно посмотреть в errorlog-е сервера, если там есть неудачные попытки кого-то залогиниться.
но если в строке подключения вообще несуществующий сервер, то не знаю, как такое обнаруживать
22 ноя 13, 15:54    [15175230]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
John не Адамс
Guest
Из management соединяюсь удаленно. Все Ok, работает и доступно.
Есть написанная другими людьми программа, которую не удается настроить. Работает она через системный DSN и что-то где-то не стыкуется видимо. В процессе настройки DSN тоже все соединяется.

Насчет сообщения об ошибке: программа не стандартная. "Нет связи с базой данных" вот и все сообщение в окне.

Сразу скажу, что с другим сервером она работает, сейчас просто делается попытка перенести СУБД на другой сервер и вроде все развернуто из бекапа с первого сервера, а вот такие непонятки. Поэтому и захотелось посмотреть как программа с БД общается.
22 ноя 13, 16:09    [15175379]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
o-o
Guest
еще раз: что в errorlog-е?
есть ли неудачные попытки залогиниться?
если есть, там указан номер ошибки и расшифровка.
если нету, до сервера попытки не доходят.
посмотрите, что в источнике ODBC
22 ноя 13, 16:55    [15175747]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
mag2000
Member

Откуда:
Сообщений: 187
автор
...Сразу скажу, что с другим сервером она работает...
John не Адамс,
Смотрите чем отличается сервер, с которым программа не работает через тот же DSN, от настроек сервера, с которым программа работает.
Может кроме имени сервера, у вас на одном дефолтный экземпляр, а на другом именованный. При этом, будут разные порты TCP.
Ну, и просмотрите все логи, как у же писал выше o-o .
22 ноя 13, 17:19    [15175921]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
o-o
Guest
John не Адамс
В процессе настройки DSN тоже все соединяется.

ну и в источнике ODBC какие настройки?
может, там виндовская авторизация и когда тестите Вы лично, передается Ваша учетка.
а программа чьи credentials передает?
22 ноя 13, 17:32    [15176005]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31977
John не Адамс
Есть написанная другими людьми программа, которую не удается настроить. Работает она через системный DSN и что-то где-то не стыкуется видимо. В процессе настройки DSN тоже все соединяется.

Насчет сообщения об ошибке: программа не стандартная. "Нет связи с базой данных" вот и все сообщение в окне.
Ну что, такие вот попались "другие люди" :-)

Нужно выводить полный эксепшен в вкладке "детали" окна сообщения об ошибке, или писать его в лог-файл...
John не Адамс
Поэтому и захотелось посмотреть как программа с БД общается.
В настройках ODBC есть опция писать логи. Не забудьте только выключить потом.
22 ноя 13, 18:17    [15176271]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
o-o
Guest
alexeyvg,
я вот пробую настроить этот ODBC log. лезу с неправильным паролем.
в логе сервера это отражено, а в логе ODBC вывелось вот такое:

Time TimerResolution SQLIDU SQLIDURows SQLSelects SQLSelectRows AvgFetchTime AvgCursorSize AvgCursorUsed SQLFetchTime SQLFetchCount CurrentStmtCount MaxOpenStmt SumOpenStmt CurrentConnectionCount MaxConnectionsOpened SumConnectionsOpened SumConnectiontime AvgTimeOpened ServerRndTrips BuffersSent BuffersRec BytesSent BytesRec msExecutionTime msNetWorkServerTime Comment
Fri Nov 22 15:48:04 0 0 0 0 0 0 0 0 0 0 0 0 0.000000 0.000000 0.000000 0.000000 0 0 0 1 1 0 1 1 0 0.000000 0 0 0 0 0 0 0
0 0 49 0


и какой из этого всего вывод?
можно где-то как-то перенастроить выводимые столбцы?
а-то у меня ничего путнего из такого лога выцепить не получилось
22 ноя 13, 18:55    [15176441]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31977
o-o
лезу с неправильным паролем.

и какой из этого всего вывод?
Изменить пароль на правильный?
22 ноя 13, 21:07    [15176981]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
o-o
Guest
alexeyvg
o-o
лезу с неправильным паролем.

и какой из этого всего вывод?
Изменить пароль на правильный?

зачем это его на правильный менять, как же я тогда проведу тест?
я хочу понять, как логирование в ODBC может помочь в диагностике причин "несоединения".
для этого лезу с неправильным паролем и смотрю, что в лог попадет.
а там ни логина, ни причины неудачи.
вот я у вас и интересуюсь, как у знающего человека(я вот впервые слышу про логирование в источнике!!!)
может, как-то надо донастроить то, что в лог попадает.
или ничего там поменять нельзя?
может, это полезная вещь для статистики соединений, но я не вижу, как ее использовать в случае неудачных попыток
22 ноя 13, 23:03    [15177343]     Ответить | Цитировать Сообщить модератору
 Re: Перехватить запросы  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4256
ODBCTracer

https://www.sql.ru/forum/546609/pozhaluysta-skompiliruyte-dll?hl=odbc
23 ноя 13, 01:31    [15177909]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить