转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> Sql Server >> 正文
SQL Server DT问与答         

SQL Server DT问与答

作者:闵涛 文章来源:闵涛的学习笔记 点击数:914 更新时间:2007/11/14 12:59:08

Q: 假设我现在有2台SQL Server (Windows Server 2003 + SQL Server 200 sp3),分别叫DB01和DB02,互相信任,互相把对方加入了Linked Servers的列表,常规访问无任何问题,但是无法启用分布式事务,例子如下:

在DB01上运行下列SQL命令:

begin tran

select top 1 * from item

select top 1 * from db02.production.dbo.item

rollback tran

在第2个select语句处提示The operation could not be performed because the OLE DB provider ''''SQLOLEDB'''' was unable to begin a distributed transaction.
[OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ]
OLE DB error trace [OLE/DB Provider ''''SQLOLEDB'''' ITransactionJoin::JoinTransaction returned 0x8004d00a].

把begin tran换成BEGIN DISTRIBUTED TRANSACTION,结果相同。

在这2台服务器上,已经同时启用了MS DTC服务,并在Component Service中设定了MS DTC各种安全支持选项全开(步骤如下:

1. Click Start, point to All Programs, point to Administrative Tools, and click Component Services.
2. In the Component Services console, expand Component Services, expand Computers, right-click My Computer, and then click Properties.
3. In the My Computer Properties dialog box, on the MSDTC tab, click Security Configuration.
4. In the Security Configuration dialog box, select the Network DTC Access check box, select the Network Administration check box, select the Network Transactions check box, select the Network Clients check box, select the Transaction Internet Protocol (TIP) Transaction check box, and then click OK.
5. Restart the computer.
)。
因为服务器正在运行任务,所以我没有重新启动(仅仅重新启动了DTC服务).
是什么原因导致无法启动事务呢?

A:

一. (缺) 

二.两台机的MSDTC是否都打开了.

三.MSDTC设置是否正确.
1.打开命令提示,运行"net stop msdtc",然后运行"net start msdtc"。
2.转至"组件服务管理工具"。
3.浏览至"启动管理工具"。
4.选择"组件服务"。
 a.展开"组件服务"树,然后展开"我的电脑"。
 b.右键单击"我的电脑",然后选择"属性"。
 C.在 MSDTC 选项卡中,确保选中了下列选项: 网络 DTC 访问
 网络管理
 网络事务
    XA 事务
 e.另外,"DTC 登录帐户"一定要设置为"NT Authority\NetworkService"。
5.单击"确定"。这样将会提示您"MS DTC 将会停止并重新启动。
  所有的依赖服务将被停止。请按''''是''''继续"。单击"是"继续。
6.单击"确定"关闭"我的电脑"属性窗口。

四.
MSDTC依赖于RPC,RPC使用的端口是135,测试135端口是否打开.是否有防火墙?如果有先关了防火墙.
telnet IP 135
如果是关闭的打开它.

五.
有的机由于各种原因),SQLOLEDB不能使用分布式事务,更改为"MSDASQL" 的ODBC方式联接.
使用RRAS而不是RAS.(控制面版--管理工具--远程服务管理器)
Check whether you are using Remote Access Server (RAS) to access remote servers. If so, make sure that you have implemented Routing RAS (RRAS). Linked server does not work on RAS because RAS allows only one way communication.


七.检查你的两台服务器是否在同一个域中.
如果不在同一个域中,是否建立可信任联接.

八.如果是WIN2000,升级到SP4

九.升级MDAC到2.6以上,最好是2.8.

十.要安装SQL的最新补丁: sp3a
''''全部补丁的位置
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9032f608-160a-4537-a2b6-4cb265b80766

''''应该安装的补丁sql 2000 sp3
http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe



本人认为:
1、环境是重要的。

2、工具是很重要的。
(1)怀疑是135端口,就用一个检查端口的工具去看,发觉端口没有问题。
(2)下了http://download.microsoft.com/download/complus/msdtc/1.7/nt45/en-us/DTCPing.exe
工具,测试,看了readme,说由三步,第一步验证名称,第二步验证rpc,第三步dtc,好,我居然发现名字验证都没通过,
总于发现tcp/ip的netbios被关掉了,咳 dtc 居然一定要名称。不用IP. I 服了 he了。

3、出现远地的计算机只能用IP地址访问不能进行名字访问,我碰到如下。
     (1)、路由的设置的问题,俩个路由是否确定无误(VPN能连通并不代表名字访问能成功,版本一致,允许芳临访问,无其他异常)。
     (2)、是否出现错误日志DCOM,出现此错误也将不能进行名字访问。
     (3)、相应tcp/ip的netbios是否打开。


[Access]sql随机抽取记录  [Access]ASP&SQL让select查询结果随机排序的实现方法
[聊天工具]企业邮件系统的利器----FoxMail Server  [系统软件]OPEN SERVER 5.0.5安装EXP300阵列柜
[系统软件]SQL语句性能优化--LECCO SQL Expert  [系统软件]关于Windows2000Server的灾难恢复
[常用软件][网络]下载服务革命性风暴Poco Server评测  [C语言系列]动态创建SQL Server数据库、表、存储过程等架构信…
[C语言系列]SQL Server到DB2连接服务器的实现  [C语言系列]SQL Server到SYBASE连接服务器的实现
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台