我不确定在这里问这个问题是不对的...我在网上寻找答案,但是徒劳无功......所以我只想在这里试试运气。
以下是Microsoft网站http://msdn.microsoft.com/en-us/library/ms189322(SQL.90).aspx
的摘录远程proc trans选项
使用远程proc trans选项通过Microsoft分布式事务处理协调器(MS DTC)事务保护服务器到服务器过程的操作。将远程proc trans设置为1以提供MS DTC协调的分布式事务,该事务保护事务的ACID(原子,一致,隔离和持久)属性。将此选项设置为1后开始的会话将配置设置作为默认值继承。
此功能将在下一版本的Microsoft SQL Server中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。
提供此选项是为了与使用远程存储过程的应用程序的早期版本的Microsoft SQL Server兼容。而不是发出远程存储过程调用,而是使用引用链接服务器的分布式查询,这些服务器是使用sp_addlinkedserver定义的。
这是否意味着,我们需要避免在将其提升为MSDTC的情况下使用事务范围对象?
注意:这是SQL Server 2005的消息,但SQL Server 2008也会显示相同的消息。
答案 0 :(得分:2)
您引用的文档不是在讨论删除MSDTC,而是从SQL Server中删除remote proc trans
选项。
这纯粹与SQL Server之间的MSDTC介导的存储过程调用(由链接服务器取代的传统方法)有关,并且与从.net框架访问SQL Server没有直接关系。
修改强>
remote proc trans
是一个SQL Server配置选项,用于处理两个或多个SQL Server之间的事务,其中一个服务器在另一个服务器上执行存储过程将使用MSDTC。
据我了解,.net事务范围处理由.net框架发起的事务,该框架可能使用也可能不使用MSDTC。无论remote proc trans
设置如何,SQL Server事务都可以包含在MSDTC下的事务范围中。