Sql server 如何在SQL Server上的Flyway中禁用单个迁移的事务

Sql server 如何在SQL Server上的Flyway中禁用单个迁移的事务,sql-server,flyway,Sql Server,Flyway,我的Flyway迁移在Flyway Community Edition 6.0.8中失败,错误如下: The procedure 'sys.sp_grantdbaccess' cannot be executed within a transaction. 我的原始迁移脚本是: EXEC sp_grantdbaccess 'foo', 'bar' 我试图将其作为动态SQL运行,但遇到了相同的问题: exec('EXEC sp_grantdbaccess N''foo'', N''bar'''

我的Flyway迁移在Flyway Community Edition 6.0.8中失败,错误如下:

The procedure 'sys.sp_grantdbaccess' cannot be executed within a transaction.
我的原始迁移脚本是:

EXEC sp_grantdbaccess 'foo', 'bar'
我试图将其作为动态SQL运行,但遇到了相同的问题:

exec('EXEC sp_grantdbaccess N''foo'', N''bar''')
我还在flyway migrate命令行上尝试了-mixed=true选项,以允许运行事务性和非事务性迁移,但我收到了相同的错误

是否可以在每次迁移的基础上禁用事务?甚至对于整个“迁移”操作?如果这两个都不是选项,那么迁移脚本本身是否有办法在不遇到事务限制的情况下实现所讨论的更改

由于以下几个原因,这不是的副本:

  • 另一个SQL操作发生错误
  • 问题行为似乎已在Flyway的早期版本中得到解决,但此操作仍在发生

  • 本周发布的Flyway 6.1中增加了将单个脚本配置为(不)在事务中运行的功能:

    不确定Flyway或此处的上下文,因此我可能会偏离……但您能否设置事务隔离级别?