Это произошло пару раз в БД ПРОД.
Приведенный ниже запрос не вернул запись в производственной БД, поэтому транзакция завершилась неудачей.
SELECT Id, candoid, c3.clientname
FROM client_data c1 (NOLOCK)
JOIN client_data c3 (NOLOCK) ON c1.clientid = c3.TopclientID
JOIN Main_program p (NOLOCK) ON c3.clientid = p.clientid
JOIN sub_program sp (NOLOCK) ON p.pgmid = sp.pgmid
WHERE c1.clientname = 'HSBC'
AND (sp.description = 'New HSBC' AND sp.Id =98752)
Но запись была там всегда, и она работала хорошо в прошлом и сейчас работает.
Он не возвращает значения, затем присваивается соответствующий код ошибки и возвращается ошибка вызывающему приложению, которое написано на C # .Net.
Единственная подсказка, которую я имею, это то, что во время этого потока client_data..client_name обновлялось до достижения вышеуказанного запроса, что может быть проблемой? но я попытался смоделировать в DEV, но не повезло.
Любая подсказка / помощь по этому вопросу высоко ценится.