我尝试使用FluentMigrator的 Execute.Sql()方法运行常规Sql脚本在我的生产环境中创建链接服务器对象,但是我从MS Sql Server得到以下错误:
The error was The procedure 'sys.sp_addlinkedserver' cannot be executed within a transaction.
The procedure 'sys.sp_addlinkedsrvlogin' cannot be executed within a transaction.
有没有办法在FluentMigrator的开放事务之外执行脚本?
非常感谢。
答案 0 :(得分:1)
我通过使用另一个SqlConnection和SqlCommand执行提到的脚本来解决这个问题,以便在FluentMigrator事务之外运行提到的脚本。
任何其他解决方案都将受到欢迎。
答案 1 :(得分:1)
我也在正常交易之外运行它,通过装饰这样的属性:
[Migration(201604061643, TransactionBehavior.None)]
这是当前版本中的一项新功能,如下所述: https://github.com/schambers/fluentmigrator/wiki/Transaction-modes-for-the-migration-runner