摘自:https://support.microsoft.com/zh-cn/kb/293799#bookmark-4

————————————————————————————

概要

DTCTester 测试指定的 Microsoft SQL Server 针对分布式的事务。此工具有助于通过防火墙或网络测试分布式的事务。DTCTester 使用 ODBC API 对 SQL Server 数据库执行分布式的事务。

 

下载 DTCTester 工具

下列文件已可从 Microsoft 下载中心下载:
下载 DTCTester 软件包。有关如何下载 Microsoft 支持文件的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

119591如何从在线服务获得 Microsoft 支持文件

Microsoft 已对此文件进行病毒扫描。Microsoft 使用自该文件发布日期起可用的最新的病毒检测软件。该文件存储在安全增强型服务器上,以防止对文件进行任何未经授权的更改。

 

DTCTester 工具的作用是什么?

  • 通过使用数据源名称 (DSN)、 用户名和密码,您在命令行上使用提供的默认网络库建立与 SQL Server 的连接。
  • 创建一个临时表。
  • 登记在事务中的连接。
  • 会在临时表上的插入。
  • 提交分布式的事务。
  • 选择插入的值,以确保它已提交。
  • 关闭连接。
 

如何使用 DTCTester 工具

  1. 为您的 SQL Server ODBC 控制面板实用程序中通过创建 ODBC 数据源。
  2. 从命令行执行以下命令︰
    dtctester <dsn name><user name><password>

    替换为您的环境相应的括号中的值。

 

其中 DTCTester 工具失败的常见原因

  • 防火墙有关闭的正确端口。
  • 没有坏的 WINS/DNS 条目。
  • 错误配置的 SQL Server 群集或双网卡。
  • 其他错误配置的网络设置。
 

DTCTester 失败时发生的错误的示例

Command Line: dtctester bad baduser badpass
Executed: dtctester
DSN: bad
User Name: baduser
Password: badpass
tablename=#dtc7421
Creating Temp Table for Testing: #dtc7421
Warning: No Columns in Result Set From Executing: 'create table #dtc7421 (ival int)'
Initializing DTC
Beginning DTC Transaction
Enlisting Connection in Transaction
Error:
SQLSTATE=25S12, Native error=-2147168242,msg='[Microsoft][ODBC SQL Server Driver] Distributed transaction error'
Error:
SQLSTATE=24000, Native error=0,msg=[Microsoft][ODBC SQL Server Driver]Invalid cursor state
Aborting DTC Transaction
Releasing DTC Interface Pointers
Successfully Released pTransaction Pointer
 

成功的 DTCTester 输出的示例

Command Line: dtctester test sa
Executed: dtctester
DSN: test
User Name: sa
Password is assumed to be NULL.
Connecting to the database
tablename= #dtc7488
Creating Temp Table for Testing: #dtc7488
Warning: No Columns in Result Set From Executing: 'create table #dtc7488 (ival int)'
Initializing DTC
Beginning DTC Transaction
Enlisting Connection in Transaction
Executing SQL Statement in DTC Transaction
Inserting into Temp...insert into #dtc7488 values (1)
Warning: No Columns in Result Set From Executing: 'insert into #dtc7488 values (1) '
Verifying Insert into Temp...select * from #dtc7488 (should be 1): 1
Press enter to commit transaction. Committing DTC Transaction
Releasing DTC Interface Pointers
Successfully Released pTransaction Pointer.
Disconnecting from Database and Cleaning up Handles
 

DTC 的建议到打开的端口

输入端口 端口的目的
打开 135 RPC EPM (终结点映射程序)
打开 1433 TDS SQL 通信使用 TCP/IP 时
打开 1434 SQL 2000 集成安全性
打开 5100 5200 MSDTC [EPM 通过动态分配端口]
 
参考资料

有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

191168信息︰ 错误"-2147168246 (8004d00a)"无法在调用对象的事务中登记

其他信息,请参阅以下 Microsoft 网站上的白皮书︰

与防火墙一起使用分布式的 COM
http://www.microsoft.com/com/wpaper/dcomfw.asp
 

MSDTC故障排除,DTCTester用法 (二)的更多相关文章

  1. MSDTC故障排除

    “由于 Microsoft 分布式事务处理协调器出现问题,因此无法连接到配置数据库. 该事务管理器已经禁止了它对远程/网络事务的支持".   第一步: 请确保iis(运行程序的机器)和sql ...

  2. 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  3. 细化如何安装LNMP + Zabbix 监控安装文档以及故障排除

    1.LNMP所需安装包: 上传如下软件包到/soft目录中 mysql- (centos6. 64位自带)也可根据版本自行挑选,前提你了解这个版本 pcre-8.36.tar.gz nginx-.ta ...

  4. Linux系统之TroubleShooting(故障排除)(转)

    尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题.那么这篇博文就总结一下一些常见的故障排除方法,但是不可能 ...

  5. SSIS 调试和故障排除

    SSIS内置的调试工具是非常完备的,主要是设置断点和查看变量值,这是在Package的设计阶段可以使用的工具,在Package部署到服务器之后,用户还可以使用事件处理程序以实现Package出错的自我 ...

  6. 网络设备配置与管理(华为)基础系列 :VLAN故障排除和GVRP

    一.VLAN故障排除 故障排除的三步骤:故障定位 → 分析故障 → 排除故障 一般情况下,网络设备配置的故障有两种排错方式 A.静态排错:主要靠display查看配置信息的方式进行 在相关vlan下d ...

  7. Linux系统之TroubleShooting(启动故障排除)

    尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题.那么这篇博文就总结一下一些常见的故障排除方法,但是不可能 ...

  8. atitit.MyEclipse10 中增加svn插件故障排除

    atitit.MyEclipse10 中增加svn插件故障排除 删除\configuration \org.eclipse.update 不行... 二. 在configuration下的config ...

  9. 1-19-1 RHEL6启动原理和故障排除

    大纲: 一.RHEL6系统启动原理 BIOS--->mbr--->bootloader--->内核--->init--->/etc/rc.d/rc.sysinit---& ...

随机推荐

  1. NOIP2014初赛分数线及金华上线名单

    NOIP2014初赛分数线及金华上线名单 分数线:提高组81.5,普及组93 这分数线还能再高些吗?悲催的浙江. 金华上线普及组名单: 地市 姓名 学校 年级 参赛语种 成绩 金华 成浩鹏 稠州丹溪校 ...

  2. 遍历ArrayList时同时修改引发的问题

    看见一篇博客,没有写完整,于是增补了一下: 博客原文:http://www.cnblogs.com/alipayhutu/archive/2012/08/11/2634073.html 注:黄色字体为 ...

  3. 从网页上抓取Windows补丁信息然后整型输出(Python)

    Powershell实现:http://www.cnblogs.com/IvanChen/p/4488246.html 今天通过Python实现: # coding=utf-8 import re i ...

  4. ecmall中static变量的使用-model模型代码设计

    function &m($model_name, $params = array(), $is_new = false) { static $models = array(); $model_ ...

  5. ubuntu实现ramdisk

    1. linux内核提供了16个ramdisk供使用者使用,只需格式化,并挂在便可以使用.查看 ls /dev/ram* 2. 修改配置文件: sudo gedit /etc/default/grub ...

  6. JAVA基础篇NO1--环境变量的配置及命名规则

    标签(空格分隔): java基础 一:计算机概述 计算机:硬件和软件 硬件:控制器 运算器 存储器 输入和输出设备       存储器:外存(硬盘) 内存 软件:系统软件 应用软件   系统软件:wi ...

  7. 关于MVC4.0中@Styles.Render用法与详解

    本文分享于http://keleyi.com/a/bjac/q74dybjc.htm文章,感觉写的蛮好所以就拿过来做笔记了,希望对大家有帮助 最近公司的新项目用了MVC 4.0,接下来一步步把 工作中 ...

  8. 在mvc中将session的值绑定在页面上

    第一步,在SqlServer数据库中创建存储过程,查询的是用户名(员工姓名)所扮演的角色: if exists(select * from sys.objects where name='proc_s ...

  9. tensorfolw配置过程中遇到的一些问题及其解决过程的记录(配置SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real-Time Object Detection for Autonomous Driving)

    今天看到一篇关于检测的论文<SqueezeDet: Unified, Small, Low Power Fully Convolutional Neural Networks for Real- ...

  10. 动画黄金搭档:CADisplayLink&CAShapeLayer

    我们在开发中有时会遇到一些看似非常复杂的动画,不知该如何下手,今天的这篇文章中我会讲到如何利用CADisplayLink和CAShapeLayer来构建一些复杂的动画,希望能在你下次构建动画中,给你一 ...