Sql server “什么是”呢;基础提供程序在登记事务时失败;SQL中的错误?

Sql server “什么是”呢;基础提供程序在登记事务时失败;SQL中的错误?,sql-server,entity-framework,transactions,Sql Server,Entity Framework,Transactions,我在IIS中托管了一个应用程序。我的IIS和SQL在不同的系统中。使用一个TransactionScope,我使用实体框架插入三个不同的表中。现在我得到以下错误 “基础提供程序在登记事务时失败” 它们的内部异常为 “分布式事务管理器(MSDTC)的网络访问已禁用。请使用组件服务管理工具在MSDTC的安全配置中为网络访问启用DTC。” 此异常还有一个内部异常,如下所示 “事务管理器已禁用对远程/网络事务的支持。(HRESULT的例外:0x8004D024)” 以下是我的问题, 为什么会出现这些例外

我在IIS中托管了一个应用程序。我的IIS和SQL在不同的系统中。使用一个TransactionScope,我使用实体框架插入三个不同的表中。现在我得到以下错误

基础提供程序在登记事务时失败

它们的内部异常为

“分布式事务管理器(MSDTC)的网络访问已禁用。请使用组件服务管理工具在MSDTC的安全配置中为网络访问启用DTC。”

此异常还有一个内部异常,如下所示

“事务管理器已禁用对远程/网络事务的支持。(HRESULT的例外:0x8004D024)”

以下是我的问题,

为什么会出现这些例外情况?

SQL事务在IIS应用程序中究竟是如何工作的?

对于单个事务,为什么需要启用Microsoft分布式事务协调器?


注意:这个错误并不经常出现,10次中有2次我们会遇到这个问题。由于这个问题,我无法将此代码转移到生产环境中

哪个代码引发异常?我们可以尝试总结所有可能导致MSDTC错误的场景,但这不会非常有效。