У меня есть 2 сервера, подключенных по низкой скорости, и мы запускаем SQL Server 2008 с репликацией Merge.
У абонента, иногда при попытке вставить новые строки, я получаю эту ошибку:
Триггер возвратил набор результатов и/или работал с SET NOCOUNT OFF в то время как другой выдающийся результирующий набор был активным.
- В моей базе данных нет триггеров; единственными триггерами являются те, которые созданы репликацией Merge
- Кроме того, всякий раз, когда возникает эта ошибка, он автоматически откатывает существующую транзакцию
- Я использую
DataTables
иTableAdapters
для вставки и обновления базы данных с помощью транзакций
Что я проверил:
- размер файла журнала базы данных ниже 50 МБ.
- Проверял исходный код транзакций Zombie (так как я не смог получить фактическую ошибку в начале)
- Проверял соединение между двумя серверами и обнаружил, что он перегружен
Вопросы:
- Как избежать этого поведения и почему оно происходит на первом месте?
- Почему он отменяет открытую транзакцию?