MSSQLSERVER_3988
Применимо к:SQL Server
Сведения
Атрибут | значение |
---|---|
Название продукта | SQL Server |
Идентификатор события | 3988 |
Источник событий | MSSQLSERVER |
Компонент | SQLEngine |
Символическое имя | XACT_UNSUPPORT_PARALLEL_TRAN2 |
Текст сообщения | Новая транзакция не допускается, так как в данном сеансе запущены другие потоки. |
Пояснение
Эта ошибка возникает при выполнении распределенного запроса, присоединенного к нескольким таблицам, размещенным удаленными экземплярами SQL Server, в то время как XACT_ABORT
параметр сеанса включен. Пользователю выводится сообщение об ошибке наподобие следующего:
Сообщение 3988, уровень 16, состояние 1, строка
Новая транзакция не допускается, так как в данном сеансе запущены другие потоки.
Причина
Существуют некоторые ограничения проектирования в том случае, когда SQL Server обрабатывает распределенные запросы (DQs), если выполняются следующие условия:
- SQL Server объединяет несколько таблиц одного удаленного источника данных SQL Server.
- Сеанс, выдающий запрос, не указан в распределенной транзакции.
В этом случае попытка выполнить запрос может вызвать одну из двух ошибок, упомянутых в разделе Пояснения.
Действие пользователя
Чтобы устранить эту ошибку, заключите распределенный запрос в инструкцию начала распределенной транзакции:
BEGIN DISTRIBUTED TRANSACTION
/*The actual Distributed Query goes next, outside of comments*/
COMMIT TRANSACTION
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по