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---& ...
随机推荐
- 【emWin】例程四:显示文本
实验指导书及代码包下载: http://pan.baidu.com/s/1jHOYdqm
- jenkins使用git SCM时changelog乱码(Jenkins部署在Linux上,任务在Windows Slave上构建)
问题原因 changelog的获取方式(git-client插件): 首先调用git whatchanged命令,读取输出字节流(UTF-8编码的Commit Message). 将字节流解码为字符串 ...
- mysql, count函数容易曲解的地方
统计count(*), 数量为9行; 统计count(abandonAddTime), 数量为8; 统计count(abandonUserName), 数量为9行; count(), 不能统计null ...
- jdk(多版本)安装注意!
♣安装jdk和jre ♣jdk配置环境变量和测试 ♣安装多版本jdk和切换 ♣jdk下的jre和第二次安装的jre的区别 注意点: 1.jdk版本需要是64位 2.安装JDK 选择安装目录 安装过程中 ...
- linux的sysctl基本配置
# Controls the use of TCP syncookiesnet.ipv4.tcp_syncookies = 1 # me write paramnet.ipv4.tcp_timesta ...
- MVC入门第一天
一.异步的两种方法 用jQ的异步 返回content controllor:return Content(sum.ToString());//这里涉及到一个自动封装的问题 html页:<for ...
- Unite洛杉矶峰会精彩回顾:从图形、平台再到VR
产品质量与工作流程 在Unity的研发过程中,保持创新的步伐与稳定性的平衡一直是一个挑战.Unity曾经向所有的用户承诺:Unity将专注于提升产品的质量并保证Unity版本稳定性的决心. 大会伊始, ...
- 2017年8个UI设计流行趋势
设计趋势变化的理由需要考虑各种各样的因素.让我们来一起看看2017年的设计流行趋势吧. 应用界面的设计趋势是不断变化的.随着时间的推移他也在不断的成长,进化.虽然有些趋势还有待检验,但我们还是需要不断 ...
- LeetCode Find the Celebrity
原题链接在这里:https://leetcode.com/problems/find-the-celebrity/ 题目: Suppose you are at a party with n peop ...
- Python开发程序:RPC异步执行命令(RabbitMQ双向通信)
RPC异步执行命令 需求: 利用RibbitMQ进行数据交互 可以对多台服务器进行操作 执行命令后不等待命令的执行结果,而是直接让输入下一条命令,结果出来后自动打印 实现异步操作 不懂rpc的请移步h ...