首页 > 代码库 > [解决方案]CREATE DATABASE statement not allowed within multi-statement transaction.

[解决方案]CREATE DATABASE statement not allowed within multi-statement transaction.

CREATE DATABASE statement not allowed within multi-statement transaction.

刚开始报这个错误的时候,我上度娘搜了一下。

别人是在Sql Server 管理界面新增数据的时候,报的错误。

而我,是在ASP.NET MVC程序启动,首次访问时,抛的异常,所以别人的解决方案并不适合我。

后来,经过一番折腾,偶然中碰巧解决了问题。

后来试了下重现问题,以便确认解决方案。

大体的原因是有已经有一个实例连接你的数据库了,而此时ASP.NET MVC程序启动时,也去(以数据库文件的方式)连接。

这里主要是因为的数据库连接字符串是这样写的:Server=(LocalDB)\MSSQLLocalDB; AttachDbFileName=|DataDirectory|\MyDatabase.mdf; Trusted_Connection=True;

而我的Visual Studio 2015 的Sql Server 对象资源管理器,又刚好在连接着这个LocalDB实例,So...抛异常了...

这种异常通常发生在连接离线数据库文件和LocalDB时发生,注意不要在已有一个实例连接的情况下再次连接就行了。

[解决方案]CREATE DATABASE statement not allowed within multi-statement transaction.