Вот странная проблема, с которой я сталкиваюсь на рабочем сервере.Это происходило дважды за последние две недели, и это сервер, который получает много трафика.
У нас есть некоторый код в веб-службе, который выполняет BEGIN TRAN
, а затем выполняет несколько запросов SQL (две вставки с последующим обновлением).Затем в конце выполняет COMMIT
.Дважды теперь мы получаем сообщение в журналах:
Запрос COMMIT TRANSACTION не имеет соответствующей BEGIN TRANSACTION.
Между первыми двумя вставками и обновлением мы вызываемдругой веб-сервис, поэтому возможна небольшая задержка между первыми двумя вставками и последним обновлением до вызова COMMIT
.Может ли это быть причиной нашей проблемы?Мы выполняем это на IIS 7 и Server 2008 R2 (все обновленные применены).
Изначально мы думали, что это может быть перезапуск пулов приложений, но изменили это на повторную обработку в середине ночи.Теперь я не уверен, что заставит SQL-сервер забыть вызов BEGIN TRAN
.
Этот веб-сервис вызывается довольно часто.Кто-нибудь видел что-то подобное раньше?Я в полной растерянности на данный момент ...
Любая помощь или предложение высоко ценится!