Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка при коннекте MS SQL 2008  [new]
Lester120
Guest
Есть ПО, которое коннектится к БД для считывания данных. Раз в минуту это ПО пишет в БД. По непонятным для меня причинам ИНОГДА коннект обрывается, хотя ConnectionString не менялся. Никакой системы не обнаружил пока. При попытке записи в БД в логах ПО появляется:


[ERROR]
Closing connection An established connection was aborted by the software in your host machine

[ERROR]
Closing connection An established connection was aborted by the software in your host machine

[INFO]
Accepting connection

[INFO]
Memory released.


[INFO]
Accepting connection


[INFO]
Editing Table <ConStr: Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=db_server;Data Source=localhost><Table: T_16_1>

[INFO]
Time to send registers: 0

[INFO]
Adding Columns <ConStr: Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=db_server;Data Source=localhost><Table: T_16_1>

[INFO]
End Adding<ConStr: Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=db_server;Data Source=localhost><Table: T_16_1>

[INFO]
Time to send registers: 0


Системы обрыва мной пока не выявлено. Подскажите в каком направлении копать..
15 фев 13, 11:33    [13930663]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
Lester120
При попытке записи в БД в логах ПО появляется:

Здесь нет ни одного серверного сообщения об ошибке
15 фев 13, 12:49    [13931223]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
Lester120
Guest
Glory
Lester120
При попытке записи в БД в логах ПО появляется:

Здесь нет ни одного серверного сообщения об ошибке


Уточняю: это лог ПО, которое пытается записать в БД новые значения. Я понимаю, что это скорее всего не SQL сервер виноват.
Но вот этой строкой "An established connection was aborted by the software in your host machin" ПО говорит, что на хосте закрыли коннект к базе.
15 фев 13, 13:45    [13931674]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
Lester120
Я понимаю, что это скорее всего не SQL сервер виноват.

Интересный вывод. Может сразу Билл Гейтс ?
15 фев 13, 13:48    [13931702]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
Lester120
Guest
Glory
Lester120
Я понимаю, что это скорее всего не SQL сервер виноват.

Интересный вывод. Может сразу Билл Гейтс ?

О. Вы так остроумны.
Но задумайтесь, а вдруг и правда, если БГ планирует архитектуру доминирующей во многих отраслях ОС и диктует определенные требования к разработке ПО - то он и есть источник мирового зла?

Такой вывод (про невиновность службы SQL сервера) я сделал исходя из следующего:
1) на чтение сервер по-прежнему доступен, т.е. старые запись я могу смотреть. Запросы SELECT выполняются, что подтверждают логи вида:
query:SELECT TOP 1 [Time_Stamp], [Time_Stamp_ms], [c1_status], [c1_k1_1], [Bias] FROM [TR_df] WHERE ( [Time_Stamp] > @Value0 OR ( [Time_Stamp] = @Value1 AND [Time_Stamp_ms] > @Value2)) AND ( [Time_Stamp] < @Value3 OR ( [Time_Stamp] = @Value4 AND [Time_Stamp_ms] <= @Value5)) ORDER BY [Time_Stamp] ASC, [Time_Stamp_ms] ASC
Rows:0
Query Time:4,0004

2) если бы не был доступен сам SQL сервер, была бы ошибка по-таймауту соединения и попытка реконнекта к SQL. Этого нет.
15 фев 13, 14:33    [13932054]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
Lester120
Guest
Вообще, довольно странная история. В процессе исполнения в ПО ConnectionString для базы не изменяется. Если при появлении глюка рестартнуть рантайм ПО - все нормально. Я тестирую данное ПО, поэтому пока самый длительный срок непрерывной работы - 2 недели, в течение которых глюков с базой не было.
Поэтому прошу хотя бы наводки, где искать причину.
15 фев 13, 14:42    [13932140]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
Lester120
О. Вы так остроумны.

А вы - нелогичны
Нет ни одного сообщения о серверной ошибки - стало быть виноват сервер. Еще и не хочет ничего сообщать о своих ошибках.
15 фев 13, 15:06    [13932327]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
Lester120
Guest
Glory
Lester120
О. Вы так остроумны.

А вы - нелогичны
Нет ни одного сообщения о серверной ошибки - стало быть виноват сервер.


Вы не все увидели:
Lester120
не SQL сервер виноват


_________

Glory
Еще и не хочет ничего сообщать о своих ошибках.

Да в том то и проблема, что ошибок практически нет! Коннект есть, читать читаю, а записывать в БД не могу...

Давайте не будем препираться и тратить время своих жизней попусту. Я прошу совета. Вы как старожил форума может быть в состоянии натолкнуть меня на путь к решению проблемы.

Т.е. в итоге все сводится к вопросу: как такое может быть, что при одних и тех же настройках коннекта, без изменений прав и т.д. одна и та же программа не всегда может писать в базу, а читает всегда?
15 фев 13, 15:36    [13932559]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
Glory
Member

Откуда:
Сообщений: 104760
Lester120
Т.е. в итоге все сводится к вопросу: как такое может быть, что при одних и тех же настройках коннекта, без изменений прав и т.д. одна и та же программа не всегда может писать в базу, а читает всегда?

Почему вы считаете, что проблема в коннекте ?
Вы настолько уверенны в программном коде своего приложения ?
15 фев 13, 15:42    [13932601]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34621
Lester120
Да в том то и проблема, что ошибок практически нет! Коннект есть, читать читаю, а записывать в БД не могу...
Т.е. в итоге все сводится к вопросу: как такое может быть, что при одних и тех же настройках коннекта, без изменений прав и т.д. одна и та же программа не всегда может писать в базу, а читает всегда?


Так не бывает. Если есть соединение с сервером, то оно должно позволять делать всё, что позволено данному
пользователю (который приконнектился).
Соединений "только на чтение" не бывает.
Так что ты просто скорее всего что-то не так понимаешь.

Вероятно, при записи происходит какая-то ошибка, которую ты НЕ видишь, ни в логах, ни в сообщениях в GUI, но она предотвращает данные от сохранения. Или этого сообщения вообще нет, тогда это может быть только одно -- откат транзакции по
инициативе приложения. Т.е. само приложение пишет-пишет, потом -- откатывает транзакцию.

Во-первых, чтобы понять что-то, нужно помониторить сервер, в MSSQL есть так называемый "профайлер", который позволяет смотреть запросы, которые идут на сервер. Есть и другие средства. В общем, тебе надо поглядеть в первую очередь на запросы, которые идут в БД, когда приложение хочет сохранить данные.

Ну а далее -- думать, почему всё это не имеет эффекта в БД, т.е. данные не меняются, искать ошибки и пр.
15 фев 13, 15:59    [13932716]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
Lester120
Guest
MasterZiv
Lester120
Да в том то и проблема, что ошибок практически нет! Коннект есть, читать читаю, а записывать в БД не могу...
Т.е. в итоге все сводится к вопросу: как такое может быть, что при одних и тех же настройках коннекта, без изменений прав и т.д. одна и та же программа не всегда может писать в базу, а читает всегда?


Так не бывает. Если есть соединение с сервером, то оно должно позволять делать всё, что позволено данному
пользователю (который приконнектился).
Соединений "только на чтение" не бывает.
Так что ты просто скорее всего что-то не так понимаешь.


Да, я не отрицаю.

MasterZiv
в MSSQL есть так называемый "профайлер", который позволяет смотреть запросы, которые идут на сервер. Есть и другие средства. .

Спасибо. Пошел гуглить, как использовать профайлер.
15 фев 13, 16:18    [13932882]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при коннекте MS SQL 2008  [new]
Lester120
Guest
Вот ведь! Почти месяц прошел с первого сообщения. Разобрался с профайлером, мониторил все, что шлется на sql сервер. Больше не повторялось косяков... И вот что это было - для меня загадка...
7 мар 13, 22:05    [14026312]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить