我正在尝试从事务管理器内的两个不同数据库访问数据。 但是在第二个数据库上执行任何查询时,我得到“操作对事务状态无效”。错误
using(TransactionScope scope=new TransactionScope())
{
Insert();//Inserts to database A
Select();//Selects from database B - error while executing this statement
}
两个数据库都存在于同一服务器中。
答案 0 :(得分:1)
在SQL Server 2005上,我认为这将需要在所有计算机上激活DTC(分布式事务处理协调器)。 2个不同的连接将导致事务从本地升级到分布式。
显然,这已在SQL Server 2008上修复:TransactionScope automatically escalating to MSDTC on some machines?您使用的是哪个版本的SQL Server?