MS dtc 服务启动不起来

MS dtc 服务启动不起来,第1张

给你找了一些方法,自己看看吧
1:确认在“配置属性”中的“启用ASPNET调试 "为 "True "
*** 作步骤:
VS环境里面,菜单-项目-项目属性(最下得选项)-配置属性(左边第二项)-Debugging-Enable AspNet Debugging 设置为True
作用:
确定调试器能过启动IIS来调试aspnet页面!
2:确认你的 "webconfig "中的 "debug=true "
*** 作步骤
打开webconfig文件,设置debug= "true ";
作用:配置调试器可以调试该应用程序
3:若你安装过wind2000 SP4后,则要在命令行执行 "regsvr32 i aspnet_isapdll "
*** 作步骤:
开始-运行-cmd-regsvr32 i aspnet_isapdll
作用:
重新注册aspnet_isapdll
4:在IIS里查看站点信息,选中 "目录安全性 ",里面有 "匿名访问和身份验证控制 ",再点击 "编辑 ",确认 "集成Windows身份验证 "选项被选中
*** 作步骤:
我的电脑-右击-管理-应用程序管理-IIS-默认网站-你得站点-右击-目录安全性-认证和访问方式-勾选匿名访问和身份验证控制,编辑-勾选确认 "集成Windows身份验证“
作用:
匿名访问:此处设置不是为了解决你得调试问题,是为了能够使局域网或者广域网中其他用户通过输入你得Ip和网站名称来访问该网站
集成Windows身份验证:刚建立得网站身份验证方式为Windows要求必须用windows用户身份访问该网站,不更该IIS,将无法正常调试!
5:在IE选项-> "安全设置 "-> "自定义级别 "里有 "用户验 ",确认选中 "自动使用当前用户名和密码登录 "
步骤上述已经详细
作用不详
6:运行C:\WINNT\MicrosoftNET\Framework\v103705\aspnet_regiisexe -i
*** 作步骤;
cd到C:\WINNT\MicrosoftNET\Framework\v103705\目录
aspnet_regiisexe -i
或者start=all progames - visual studionet 2003-visual studionet tools - command prompt-aspnet_regiisexe -i
作用:
重新注册当前得net framework版本即(v103705)到iis,为了解决调试得时候出现您所运行得net版本不是v11得问题
7:控制面板--管理工具--计算机管理--本地用户和组--用户,双击ASPNET用户,为其隶属于添加Administrators用户

MSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtcexe。

解决办法:

在windows控制面版-->管理工具-->服务-->Distributed Transaction Coordinator-->属性-->启动

在CMD下运行"net start msdtc"开启服务后正常。

输入:msdtc -resetlog (注意运行此命令时,不要执行挂起的事务)

最后输入:net s

你把该服务停止,然后删除,相应注册表也删掉,然后重新安装,还有该服务依存Microsoft Personal Web Server和Microsoft SQL Server这两个服务,因此也必须得运行。

没有msdtc服务的解决方法如下:
1、删除注册表中的键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
HKEY_CLASSES_ROOT\CID;
2、停止MSDTC服务:net stop msdtc;
3、卸载MSDTC服务:msdtc -uninstall;
4、重新安装MSDTC服务:msdtc -install;
5、重新启动电脑。

外围网络中有一个 Web 服务器,后端生产网络中有一个独立的 SQL Server (或 SQL Server 群集实例),防火墙将两个网络隔开。MSDTC 需要在 Web 服务器和后端 SQL Server 之间使用特定端口对其进行配置,以限制端口在两个网络之间的防火墙中打开。
举例来说,我们配置 MSDTC 令其使用端口 5000。
在前端 Web 服务器中需要做两件事来限制 MSDTC 将要使用端口。
配置 DCOM 可以使用的端口
配置可供 MSDTC 使用的特定端口
步骤
1 在 Web 服务器的 Run 菜单中启动 Dcomcnfgexe。
2 扩展 Component Services,右键单击 My Computer,选择 Properties。
3 选择 Default Protocols 选项卡。
4 单击 Properties 按钮。
5 单击 Add。
6 输入 MSDTC 将要使用端口的端口范围。在本例中,我将使用端口 5001-6000。
7单击 OK,返回 My Computer Properties 窗口,然后单击 OK。这一步很关键,为临时端口修改注册表。
8 启动 Regedt32exe。
9 找到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC。
10 右键单击 MSDTC 项,选择 New and DWord (32-bit) Value。
11 输入 ServerTcpPort 作为名称。
12 右键单击 ServerTcpPort 项,然后选择 Modify。
13 将 Radio Button 改为 Decimal,然后在 Value Data 处输入 5000,单击 OK。下图为修改后的注册表项:
14 重新启动 MSDTC Service (单机情况下)或在群集情况下在 Failover Cluster Manager 中运行 MSDTC Resource offline/online。
确认 MSDTC 使用了正确的端口:
打开管理命令提示符,运行 Netstat –ano 来获取端口和进程标识符(PID)
启动 Task Manager 并选择 Details 选项卡
找到 MSDTCexe 并获取 PID
浏览输出并显示其是 MSDTC
现在 DTC 将会使用注册表中的特定端口,其他进程不会尝试使用与其相同的端口,从而防止了端口重叠。

1 双方启动MSDTC服务
MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。
2 打开双方135端口
MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。
使用“telnet IP 135 ”命令测试对方端口是否对外开放。也可用端口扫描软件(比如Advanced Port Scanner)扫描端口以判断端口是否开放。
3 保证链接服务器中语句没有访问发起事务服务器的 *** 作
在发起事务的服务器执行链接服务器上的查询、视图或存储过程中含有访问发起事务服务器的 *** 作,这样的 *** 作叫做环回(loopback),是不被支持的,所以要保证在链接服务器中不存在此类 *** 作。
4 在事务开始前加入set xact_abort ON语句
对于大多数 OLE DB 提供程序(包括 SQL Server),必须将隐式或显示事务中的数据修改语句中的 XACT_ABORT 设置为 ON。唯一不需要该选项的情况是在提供程序支持嵌套事务时。

Distributed Transaction Coordinator,是微软分布式传输协调程序。该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器。msdtcexe是一个并列事务,是分布于两个以上的数据库,消息队列,文件系统或其他事务保护资源管理器,删除要小心。
如果你确定不会用到它,那就可以删除。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13481808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-15
下一篇 2023-08-15

发表评论

登录后才能评论

评论列表(0条)

保存