日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

SQL Server 分布式数据库的问题和解决方法

發(fā)布時(shí)間:2025/3/20 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server 分布式数据库的问题和解决方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、問(wèn)題現(xiàn)象

假如分布式事務(wù)的客戶端和服務(wù)器端(可能N個(gè))不在同一臺(tái)服務(wù)器上,如分別為應(yīng)用程序服務(wù)器 和 數(shù)據(jù)庫(kù)服務(wù)器,經(jīng)常會(huì)出現(xiàn)一下錯(cuò)誤: ①?在建立與服務(wù)器的連接時(shí)出錯(cuò)。在連接到?SQL Server 2005?時(shí),在默認(rèn)的設(shè)置下?SQL Server?不允許進(jìn)行遠(yuǎn)程連接可能會(huì)導(dǎo)致此失敗。?(provider:?命名管道提供程序, error: 40 -?無(wú)法打開(kāi)到?SQL Server?的連接)。 ②?事務(wù)已被隱式或顯式提交,或已終止。 ③?該伙伴事務(wù)管理器已經(jīng)禁止了它對(duì)遠(yuǎn)程/網(wǎng)絡(luò)事務(wù)的支持。?(異常來(lái)自?HRESULT:0x8004D025)。TransactionScope異常) ④?[COMException (0x8004d00e):此事務(wù)已明地或暗地被確認(rèn)或終止?(異常來(lái)自?HRESULT:0x8004D00E)]。(MSDTC?分布式事務(wù)錯(cuò)誤) ⑤?Import of MSDTC transaction failed: Result Code = 0x8004d023.?(MSDTC安全性配置問(wèn)題)

二、解決方法

遇到以上的問(wèn)題或SQL Server分布式的問(wèn)題,請(qǐng)按照以下步驟設(shè)置,問(wèn)題應(yīng)該可以得到解決。可能有些步驟對(duì)您來(lái)說(shuō)是多余的,但求全不求漏。

1.?啟動(dòng)MSDTC服務(wù)。

MSDTC簡(jiǎn)介:MSDTC是Microsoft?Distributed Transaction Coordinator的簡(jiǎn)稱,即微軟分布式事務(wù)協(xié)調(diào)器,描述:協(xié)調(diào)跨多個(gè)數(shù)據(jù)庫(kù)、消息隊(duì)列、文件系統(tǒng)等資源管理器的事務(wù)。如果停止次服務(wù),則不會(huì)發(fā)生這些事務(wù)。如果禁用此服務(wù),顯式依賴此服務(wù)的其他服務(wù)將無(wú)法啟動(dòng)。 MSDTC啟動(dòng)方法: ①“開(kāi)始”|“運(yùn)行”,輸入“services.msc”,或者“控制面板”|“管理工具”|“服務(wù)”,打開(kāi)“服務(wù)”窗口,在名稱中找到“Distributed Transaction Coordinator”,將其啟動(dòng)。 ②“開(kāi)始”|“所有程序”|“Microsoft SQL Server”|“服務(wù)管理器”,打開(kāi)“SQL Server?服務(wù)管理器”窗口,選中“Distributed Transaction Coordinator”服務(wù),將其啟動(dòng)。

2.?設(shè)置MSDTC組件。

① 檢查操作系統(tǒng)是否安裝DTC組件。XP默認(rèn)安裝,Win2003默認(rèn)不安裝。安裝步驟如下: a.?“開(kāi)始”|“控制面板”|“添加/刪除程序”|“添加/刪除Windows組件”,選擇“應(yīng)用程序服務(wù)器”,單擊“詳細(xì)信息”,選擇“啟用網(wǎng)絡(luò)DTC訪問(wèn)”,單擊“確定”|“下一步”|“完成”。 b.?停止并重啟MSDTC服務(wù)(命令:net stop msdtc和net start msdtc)。 c.?停止參與分布式事務(wù)的任何資源管理器服務(wù)(如?Microsoft SQL Server?或?Microsoft Message Queue Server),然后重新予以啟動(dòng)。 ② “開(kāi)始”|“運(yùn)行”,輸入“dcomcnfg”,或者“控制面板”|“管理工具”|“組件服務(wù)”,打開(kāi)“組件服務(wù)”窗口,“組件服務(wù)”|“計(jì)算機(jī)”|“我的電腦”,右鍵“屬性”|“MSDTC”,勾選“使用本地協(xié)調(diào)器”,單擊“安全性配置”,彈出“安全配置”窗口,勾選“網(wǎng)絡(luò)DTC訪問(wèn)”、“允許遠(yuǎn)程客戶端”、“允許遠(yuǎn)程管理”、“允許入站”、“允許出站”、“不要求進(jìn)行驗(yàn)證”、“啟用事務(wù)Inernet協(xié)議(TIP)事務(wù)”和“啟用XA事務(wù)”(“允許入站”和“允許出站”據(jù)具體情況設(shè)置,客戶端機(jī)器必須“允許出站”,服務(wù)器端機(jī)器必須“允許入站”),DTC登陸賬號(hào)必須是“NT AUTHORITY\NetworkService”。Vista系統(tǒng)只需勾選“使用本地協(xié)調(diào)器”即可。 ③?配置防火墻以允許與?Msdtc.exe服務(wù)的網(wǎng)絡(luò)通訊。【測(cè)試時(shí)可以退掉所有的防火墻和殺毒軟件】

3.?檢查兩臺(tái)機(jī)器能夠相互ping通Hostname。

注意是機(jī)器名,而不是IP。若不可以,進(jìn)行如下設(shè)置: ① 在目錄“%windir%\system32\drivers\etc”下的hosts文件,寫(xiě)上IP和HostName的對(duì)應(yīng)信息,如 “10.25.11.185?GSMAJK”。另外,你也可以使用DTCping工具來(lái)測(cè)試是否可以在兩臺(tái)機(jī)器之間使用MSDTC,并幫你分析原因,下載地址可以到微軟的站點(diǎn)。

4.?啟動(dòng)SQL Server?的分布式遠(yuǎn)程連接。

(1) SQL Server 2000: ① “開(kāi)始”|“所有程序”|“Microsoft SQL Server”|“企業(yè)管理器”,鼠標(biāo)選中SQL Server?實(shí)例,如:GSMAJK(Windows NT),右鍵“屬性”,彈出“SQL Server?屬性(配置)”窗口, “連接”|“遠(yuǎn)程服務(wù)器連接”,選中“允許其他SQL Server?使用RPC遠(yuǎn)程連接到本SQL Server”和“強(qiáng)制分布式事務(wù)處理(MTS)”,SQL Server 2000默認(rèn)情況下是選中的。 ②?配置防火墻以允許與?SQL Server?服務(wù)相關(guān)的網(wǎng)絡(luò)通訊。【測(cè)試時(shí)可以退掉所有的防火墻和殺毒軟件】 (2) SQL Server 2005:參見(jiàn)如何配置SQL Server 2005?以允許遠(yuǎn)程連連接 ①?在您要從遠(yuǎn)程計(jì)算機(jī)連接到的SQL Server?實(shí)例上啟用遠(yuǎn)程連接。 “開(kāi)始”|“所有程序”|“Microsoft SQL Server 2005”|“配置工具”|“SQL Server外圍應(yīng)用配置器”,單擊“服務(wù)和連接的外圍應(yīng)用配置器”|“數(shù)據(jù)庫(kù)引擎”,單擊“遠(yuǎn)程連接”,選中“本地連接和遠(yuǎn)程連接”和“同事使用TCP/IP和named pipes”,然后單擊“應(yīng)用”。在接收到消息“直到重新啟動(dòng)數(shù)據(jù)庫(kù)引擎服務(wù)后,對(duì)連接設(shè)置所做的更改才會(huì)生效”后,單擊“確定”。單擊“服務(wù)”,檢查“MSSQLSERVER服務(wù)”是否啟動(dòng)。?打開(kāi)?SQL Server Browser?服務(wù)。 “開(kāi)始”|“所有程序”|“Microsoft SQL Server 2005”|“配置工具”|“SQL Server外圍應(yīng)用配置器”,單擊“服務(wù)和連接的外圍應(yīng)用配置器”|“SQL Server Browser”,在“啟動(dòng)類型”中單擊“自動(dòng)”選項(xiàng),然后單擊“應(yīng)用”。 單擊“啟動(dòng)”,然后單擊“確定”。?配置防火墻以允許與?SQL Server?和?SQL Server Browser?服務(wù)相關(guān)的網(wǎng)絡(luò)通訊。【測(cè)試時(shí)可以退掉所有的防火墻和殺毒軟件】

5. SQL Server是否安裝必須的補(bǔ)丁。

如SQL Server 2000的SP4。 在一次.NET開(kāi)發(fā)中,問(wèn)題現(xiàn)象中①②③條全遇到了,弄了好幾天都沒(méi)有解決,后來(lái),查看數(shù)據(jù)庫(kù)版本,一個(gè)是SQL Server 2000 SP3,一個(gè)是SQL Server 2000 RTM,我就在后者的基礎(chǔ)上安裝了SQL Server 2000 SP4,結(jié)果問(wèn)題解決。








本文轉(zhuǎn)自 h2appy? 51CTO博客,原文鏈接:http://blog.51cto.com/h2appy/223284,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的SQL Server 分布式数据库的问题和解决方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。