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

Откуда:
Сообщений: 17
Дано:
таблица с одной записью. запись не удаляется никогда, иногда ( редко ) апдейтится.

есть запрос
select * from database_state with (nolock)"


сервер - ASP.NET, .net 4.0
иногда впадает в состояние что данные запрос не возвращает записей.
конекшн каждый раз создается новый, но видимо берется из пула.
рестарт сервера проблему лечит

читается запись простым Reader'ом.

особенности:
при открытии конекшена выполняется
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ( legacy убрать сложно )

главный вопрос:
почему? почему он может не вернуть записей, и почему это состояние ?кешируется?
доп. вопрос - как вывести его из такого состояния на лету?
7 сен 12, 13:02    [13129279]     Ответить | Цитировать Сообщить модератору
 Re: "потеряная" запись  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Бай дизайн. (Ссылку найду - покажу). Хотите нормальные данные - не используйте uncommitted или nolock.
7 сен 12, 13:10    [13129340]     Ответить | Цитировать Сообщить модератору
 Re: "потеряная" запись  [new]
Molibot
Member

Откуда:
Сообщений: 17
ну я предполагаю что причина в nolock и uncommited.
но почему впадает перманентно в такое состояние?
7 сен 12, 13:12    [13129358]     Ответить | Цитировать Сообщить модератору
 Re: "потеряная" запись  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
http://sqljunkieshare.com/2012/05/20/worst-enemy-to-a-developer-nolock-why-shouldnt-you-use/
7 сен 12, 13:34    [13129558]     Ответить | Цитировать Сообщить модератору
 Re: "потеряная" запись  [new]
Molibot
Member

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

на 99% даже первый селект не пересекается с апдейтом.
последующие на 100% не пересекаются с апдейтом.
7 сен 12, 13:50    [13129713]     Ответить | Цитировать Сообщить модератору
 Re: "потеряная" запись  [new]
Glory
Member

Откуда:
Сообщений: 104751
Molibot
на 99% даже первый селект не пересекается с апдейтом.
последующие на 100% не пересекаются с апдейтом.

Серверная ошибка то какая ?
7 сен 12, 13:53    [13129750]     Ответить | Цитировать Сообщить модератору
 Re: "потеряная" запись  [new]
Molibot
Member

Откуда:
Сообщений: 17
не понятно, код простой как две копейки, на стресс тесте воспроизвести не могу.
7 сен 12, 14:26    [13130109]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить