首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从DbUp脚本执行命令?

如何从DbUp脚本执行命令?
EN

Database Administration用户
提问于 2017-02-14 13:33:12
回答 1查看 2.1K关注 0票数 2

我正在使用DbUp维护和升级我的Server 2016数据库。我到目前为止执行的典型SQL脚本包括创建表、创建或更改存储过程等任务。

我将开始使用内存优化表,并需要运行ALTER命令在现有数据库中创建必要的文件组。我尝试运行一个动态SQL脚本,该脚本构建和运行包含脚本当前运行的数据库名称的ALTER命令,但由于DbUp使用事务性执行,似乎不允许ALTER语句,因此我得到了这个错误:

代码语言:javascript
复制
Script block number: 2; Block line 1; Message:
System.Data.SqlClient.SqlException (0x80131904): ALTER DATABASE statement not allowed within multi-statement transaction.
ALTER DATABASE statement not allowed within multi-statement transaction.
ALTER DATABASE statement not allowed within multi-statement transaction
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

有什么想法可以通过DbUp运行alternative命令,或者是否有其他方法来处理这种情况?

提前谢谢。

EN

回答 1

Database Administration用户

发布于 2017-02-17 16:14:57

这是DbUp的默认行为;您不能在Server端执行任何操作。在DbUp的github问题部分中有一个类似的讨论,其中包含可能对您有用的解决方法,所以请检查它。我不认为SE上有DbUp标记,所以如果这些解决方案不适用于您,请尝试在该页面或其讨论小组上发布。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/164278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档