MSDTC故障排除,DTCTester用法 (二)
摘自:https://support.microsoft.com/zh-cn/kb/293799#bookmark-4
————————————————————————————
概要
DTCTester 测试指定的 Microsoft SQL Server 针对分布式的事务。此工具有助于通过防火墙或网络测试分布式的事务。DTCTester 使用 ODBC API 对 SQL Server 数据库执行分布式的事务。
下载 DTCTester 工具
下列文件已可从 Microsoft 下载中心下载:
下载 DTCTester 软件包。有关如何下载 Microsoft 支持文件的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
Microsoft 已对此文件进行病毒扫描。Microsoft 使用自该文件发布日期起可用的最新的病毒检测软件。该文件存储在安全增强型服务器上,以防止对文件进行任何未经授权的更改。
DTCTester 工具的作用是什么?
- 通过使用数据源名称 (DSN)、 用户名和密码,您在命令行上使用提供的默认网络库建立与 SQL Server 的连接。
- 创建一个临时表。
- 登记在事务中的连接。
- 会在临时表上的插入。
- 提交分布式的事务。
- 选择插入的值,以确保它已提交。
- 关闭连接。
如何使用 DTCTester 工具
- 为您的 SQL Server ODBC 控制面板实用程序中通过创建 ODBC 数据源。
- 从命令行执行以下命令︰
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 知识库中相应的文章:
其他信息,请参阅以下 Microsoft 网站上的白皮书︰
http://www.microsoft.com/com/wpaper/dcomfw.asp
MSDTC故障排除,DTCTester用法 (二)的更多相关文章
- MSDTC故障排除
“由于 Microsoft 分布式事务处理协调器出现问题,因此无法连接到配置数据库. 该事务管理器已经禁止了它对远程/网络事务的支持". 第一步: 请确保iis(运行程序的机器)和sql ...
- 理解 OpenStack + Ceph (7): Ceph 的基本操作和常见故障排除方法
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
- 细化如何安装LNMP + Zabbix 监控安装文档以及故障排除
1.LNMP所需安装包: 上传如下软件包到/soft目录中 mysql- (centos6. 64位自带)也可根据版本自行挑选,前提你了解这个版本 pcre-8.36.tar.gz nginx-.ta ...
- Linux系统之TroubleShooting(故障排除)(转)
尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题.那么这篇博文就总结一下一些常见的故障排除方法,但是不可能 ...
- SSIS 调试和故障排除
SSIS内置的调试工具是非常完备的,主要是设置断点和查看变量值,这是在Package的设计阶段可以使用的工具,在Package部署到服务器之后,用户还可以使用事件处理程序以实现Package出错的自我 ...
- 网络设备配置与管理(华为)基础系列 :VLAN故障排除和GVRP
一.VLAN故障排除 故障排除的三步骤:故障定位 → 分析故障 → 排除故障 一般情况下,网络设备配置的故障有两种排错方式 A.静态排错:主要靠display查看配置信息的方式进行 在相关vlan下d ...
- Linux系统之TroubleShooting(启动故障排除)
尽管Linux系统非常强大,稳定,但是我们在使用过程当中,如果人为操作不当,仍然会影响系统,甚至可能使得系统无法开机,无法运行服务等等各种问题.那么这篇博文就总结一下一些常见的故障排除方法,但是不可能 ...
- atitit.MyEclipse10 中增加svn插件故障排除
atitit.MyEclipse10 中增加svn插件故障排除 删除\configuration \org.eclipse.update 不行... 二. 在configuration下的config ...
- 1-19-1 RHEL6启动原理和故障排除
大纲: 一.RHEL6系统启动原理 BIOS--->mbr--->bootloader--->内核--->init--->/etc/rc.d/rc.sysinit---& ...
随机推荐
- 机器学习常用Python扩展包
在Ubuntu下安装Python模块通常有3种方法:1)使用apt-get:2)使用pip命令(推荐);3)easy_instal 可安装方法参考:[转]linux和windows下安装python集 ...
- javascript 判断为true false
如果逻辑对象无初始值或者其值为 0.-0.null."".false.undefined 或者 NaN,那么对象的值为 false.否则,其值为 true(即使当自变量为字符串 & ...
- VIM键盘映射 (Map)~转载
VIM键盘映射 (Map) 设置键盘映射 使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来.例如使用以下命令,可以通过F5键将单词用花括号括起来: :map <F5> i{e ...
- 图解atime/mtime/ctime之间的区别与联系
补充:
- 利用mask layer 勾View
#define SCREEN_WIDTH [[UIScreen mainScreen] bounds].size.width #define SCREEN_HEIGHT [[UIScreen main ...
- window的对象有哪些(笔记)
window的主对象主要有如下几个: document 对象: frames 对象: history 对象: location 对象: navigator 对象: screen 对象: 全局变量和函数 ...
- 快速将一个表的数据生成SQL插入语句
将一个表中的数据生成SQL插入语句,方便系统快速初始化,在数据库中执行创建以下过程就可以了. ) Drop Procedure GenerateData go CREATE PROCEDURE Gen ...
- async 和 await小结
三大返回值: 返回类型 - Task<TResult> 返回类型 - Task 返回类型 - void 当你添加 async 关键字后,需要返回一个将用于后续操作的对象,请使用 Task& ...
- Handler用法
1.子线程创建handler 方法一 HandlerThread handlerThread = new HandlerThread(" sub thread name"); / ...
- 【转载】LR提交JSON格式的请求
需求: 测试一个“修改用户铜板”的接口,这个接口接收JSON格式的请求,返回JSON格式的结果: 必须用PUT方式提交请求: 提交内容: {"method":"modi ...