У нас есть разработчик, подключающийся к SQL Server с помощью pymssql, который использует freetds. Его сценарий динамически генерирует запросы на вставку sql на основе значений в базе данных MySQL.
Операторы анализируются должным образом и имеют правильное начало транзакции/фиксации в них, когда вы просматриваете их в SQL Profiler. Единственное «сообщение об ошибке пользователя», которое появляется «контекст базы данных изменен на ...», которое появляется всякий раз, когда вы выдаете USE в SQL. После завершения пакета происходит откат события журнала транзакций, и все вставленные записи удаляются.
Мы не используем XACT_ABORT_OFF, потому что я не видел, чтобы это повлияло на «изменение контекста БД на».
У кого-нибудь есть идеи или опыт в этом? Спасибо!
[edit]: код, скопированный из профилировщика, отлично работает в SSMS с использованием того же пользователя, и нет никаких триггеров.
[2-е редактирование]: внутри профилировщика SQL я вижу запись «Журнал транзакций» с «откатом» под типом события, однако TM: Rollback Tran отсутствует.