Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
Василий К.
Member

Откуда:
Сообщений: 4
Добрый день. Я не специалист в данной области. На предприятии есть 2 сервера SQL server 2008 r2. В них параллельно пишется база (температуры, давления...) по сути зеркалируется. Есть таблица куда пишутся часовые данные...т.е. раз в час. Так вот, на одном сервере случаются пропуски записей, они непостоянны. Например:
10:00 20 градусов
11:00 21 градусов
13:00 22 градусов
14:00 19 градусов
15:00 18 градусов
16:00 20 градусов
Видим пропуск записи в 12:00. На втором сервере данные есть. С чего лучше начать поиск причины?
22 июл 17, 07:16    [20666323]     Ответить | Цитировать Сообщить модератору
 Re: SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
aleks2
Guest
Не с сервера.

1. Исправьте говнокод в вашем приложении.
22 июл 17, 07:21    [20666325]     Ответить | Цитировать Сообщить модератору
 Re: SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
Василий К.
Member

Откуда:
Сообщений: 4
Приложение скада система cimplicity machine edition. Запись данных осуществляется стандартными средствами скады.
22 июл 17, 07:35    [20666327]     Ответить | Цитировать Сообщить модератору
 Re: SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
Василий К.
Member

Откуда:
Сообщений: 4
Если сервер пропустил запись данных, эта ошибка куда-нибудь сохраняется?
22 июл 17, 07:38    [20666328]     Ответить | Цитировать Сообщить модератору
 Re: SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
iap
Member

Откуда: Москва
Сообщений: 46951
Василий К.,

посмотрите профайлером, отправлялся ли на сервер запрос на вставку пропущенной записи.
Если был такой запрос, то смотреть серверные процедуры/триггеры и т.д.
Если нет - сервер не виноват. Причина - на клиенте.
22 июл 17, 09:46    [20666377]     Ответить | Цитировать Сообщить модератору
 Re: SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
Massa52
Member

Откуда:
Сообщений: 373
Василий К.,
Начать надо бы с клиента. Он должен, по идее, логировать операцию записи в базу.
Ну и параллельно глянуть в event log - что в эт момент на компьютере происходило.
Тут и сеть может быть виновата. Например, коннекшна не было в эт момент.
22 июл 17, 10:00    [20666391]     Ответить | Цитировать Сообщить модератору
 Re: SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30712
Василий К.
Если сервер пропустил запись данных, эта ошибка куда-нибудь сохраняется?
Если сервер пропустил запись данных, то либо не была выполнена команда insert, либо она завершилась с ошибкой.

О первом случае сервер вообще не знает

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

Нужно искать логи приложения, а если не получится, то запускать на сервере профайлер с фильтром на ошибки.
22 июл 17, 10:05    [20666395]     Ответить | Цитировать Сообщить модератору
 Re: SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
Василий К.
Member

Откуда:
Сообщений: 4
Понял, попробую профайлер с фильтром на ошибки запустить.
22 июл 17, 10:12    [20666404]     Ответить | Цитировать Сообщить модератору
 Re: SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
AndrF
Member

Откуда:
Сообщений: 2183
Василий К.
Понял, попробую профайлер с фильтром на ошибки запустить.


Скорей всего у вас нестабильная связь клиента с сервером. Клиентская программа просто не может в определенный момент отправить команду серверу. По хорошему она где-то должна писать об этом сообщения в лог...
22 июл 17, 15:57    [20666713]     Ответить | Цитировать Сообщить модератору
 Re: SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
aleks2
Guest
Василий К.
Приложение скада система cimplicity machine edition. Запись данных осуществляется стандартными средствами скады.


Ога, на VBA тоже можно говношкодить.

Если вам важна достоверная запись - приложение должно убедиться, что
1. не возвращено ошибки;
2. транзакция закоммичена после вставки;
3. сделать попытку прочитать записанное.
Если обломалось на любом из этапов - записать в журнал ошибок.
22 июл 17, 19:36    [20666975]     Ответить | Цитировать Сообщить модератору
 Re: SQL server случайным образом пропускает запись в таблицу. Как найти причину?  [new]
Massa52
Member

Откуда:
Сообщений: 373
Василий К.,
Вряд ли вы чтот найдете на стороне сервера.
Трясите клиента. Вероятнее всего, клиент не доходит до сиквела.
24 июл 17, 06:03    [20668512]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить