SQL Server DT问与答
发布时间:2018-08-19 03:32:37 所属栏目:电商 来源:站长网
导读:Q: 假设我此刻有2台SQL Server (Windows Server 2003 + SQL Server 200 sp3),别离叫DB01和DB02,相互信赖,相互把对方插手了Linked Servers的列表,通例会见无任何题目,可是无法启用漫衍式事宜,例子如下: 在DB01上运行下列SQL呼吁: begin tran select
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 AuthorityNetworkService"。 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是否打开。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |