如何在create database命令期间使用Transactions属性(在C#中)

时间:2013-04-15 09:27:36

标签: c# sql-server-2008

  • 我需要创建一个数据库
  • 在创建的数据库上运行SQL脚本
  • 我需要在创建的Db Programmitically中输入一些数据

如果任何步骤失败,整个事务甚至应该回滚数据库创建。 但是当我在Create数据库上使用事务属性时,它会抛出异常

  

多语句事务中不允许使用CREATE DATABASE语句。

是否有任何方法可以实现相同而不是删除数据库命令。(即程序删除数据库)

2 个答案:

答案 0 :(得分:2)

我担心你不能。

来自MSDN documentation

  

CREATE DATABASE语句必须以自动提交模式运行(默认设置)   事务管理模式)并且不允许在显式或   隐式交易。

答案 1 :(得分:2)

不,这是不可能的。 CREATE DATABASE

  

CREATE DATABASE语句必须以自动提交模式(默认事务管理模式)运行,并且不允许在显式或隐式事务中使用。

因此,您必须在最后明确检查并发出DROP DATABASE进行清理。