Мне нужно запустить собственный скрипт sql во время миграции Entity Framework.Сценарий:
exec sp_executesql N'create view VIEW_TS_Shops as select * from openquery([TS-SQL], ''select * from Shops'')'
Сбой переноса с сообщением об ошибке:
System.Data.SqlClient.SqlException (0x80131904): Операция не может быть выполнена, поскольку поставщик OLE DB «SQLNCLI10»для связанного сервера «TS-SQL» не удалось начать распределенную транзакцию.Поставщик OLE DB «SQLNCLI10» для связанного сервера «TS-SQL» вернул сообщение «Менеджер транзакций партнера отключил свою поддержку удаленных / сетевых транзакций».
Мои попытки решить проблему перечислены ниже.
- Использовать аргумент "suppressTransaction: true" при вызове метода Sql () .
- Отключение продвижения разнесенной транзакции в свойствах связанного сервера.
Нет результата.Как я могу это исправить?
UPDATE
Мое решение с аргументом "suppressTransaction" работает, но я забыл указать его для всех инструкций SQL, которые работают с представлением.