博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
当IIS应用服务器与SQL Server数据服务器在不同机器上时, Transaction发生异常.
该伙伴事物管理器已经禁止了他对远程/网络事务的支持.
事务已被隐式或显式提交,或已终止.

1.对MSDTC组件设置:
步骤:
1.控制面板->管理工具->组件服务->计算机->我的电脑->右键->属性
2. 选择MSDTC页, 确认"使用本地协调器"
3.点击下方"安全配置"按钮
4. 勾选: "允许网络访问","允许远程客户端","允许入站","允许出站","不要求进行身份验证".
5. 对于数据库服务器端, 可选择"要求对呼叫方验证"
停止分布式事务协调器服务,然后重新予以启动。     
停止参与分布式事务的任何资源管理器服务(如   Microsoft   SQL   Server   或   Microsoft   Message   Queue   Server),然后重新予以启动。  
6.在双方防火墙中增加MSDTC.exe例外
可用命令行: netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable
7.dtC用到remoting的135端口,确保防火墙没有阻止


2.在数据库服务器(MS   SQL)上的   hosts   文件中加入   Web   服务器(IIS)   的   IP   和   主机名   映射对
1.
定位到   C:\WINDOWS\system32\drivers\etc   目录
2.
记事本打开   hosts   文件(没有扩展名)
3.
添加一行   Web   服务器   IP   和   主机名映射,   如  
10.10.1.118   MyWebServerHostName
192.168.1.25  jack