亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

MSDTC問題集

2024-07-21 02:49:20
字體:
來源:轉載
供稿:網友
MSDTC問題集一、鏈接服務器的 OLE DB 訪問接口 "SQLNCLI" 無法啟動分布式事務。

尊重原著作:本文轉載自http://sfwxw456.blog.163.com/blog/static/631359742009321112120248/

 問題現象

  在執行分布式事務時,在sql server 2005下收到如下錯誤:

   鏈接服務器"xxxxxxx"的 OLE DB 訪問接口 "SQLNCLI" 返回了消息 "沒有活動事務。"。

   消息 7391,級別 16,狀態 2,過程 xxxxx,第 16 行

   無法執行該操作,因為鏈接服務器 "xxxxx" 的 OLE DB 訪問接口 "SQLNCLI" 無法啟動分布式事務。

  在sql server 2000下收到如下錯誤:

   該操作未能執行,因為 OLE DB 提供程序 'SQLOLEDB' 無法啟動分布式事務。

   [OLE/DB PRovider returned message: 新事務不能登記到指定的事務處理器中。 ]

   OLE DB 錯誤跟蹤[OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]。

 解決方案  1. 雙方啟動MSDTC服務(啟動方式:允許net start msdtc命令)   MSDTC服務提供分布式事務服務,如果要在數據庫中使用分布式事務,必須在參與的雙方服務器啟動MSDTC(Distributed Transaction Coordinator)服務。MSDTC(分布式交易協調器),協調跨多個數據庫、消息隊列、文件系統等資源管理器的事務。該服務的進程名為Msdtc.exe,該進程調用系統Microsoft Personal Web Server和Microsoft SQL Server。該服務用于管理多個服務器 .

   位置:控制面板--管理工具--服務--Distributed Transaction Coordinator

   依存關系:Remote Procedure Call(RPC)和Security Accounts Manager

   建議:一般家用計算機涉及不到,除非你啟用Message Queuing服務,可以停止。

   解決辦法:

    1)在windows控制面版-->管理工具-->服務-->Distributed Transaction Coordinator-->屬性-->啟動

    2)在CMD下運行"net start msdtc"開啟服務后正常。

   注:如果在第1步Distributed Transaction Coordinator 無法啟動,則是因為丟失了日志文件,重新創建日志文件,再啟動就行了。重新創建 MSDTC 日志,并重新啟動服務的步驟如下:

    (1) 單擊"開始",單擊"運行",輸入 cmd 后按"確定"。

    (2) 輸入:msdtc -resetlog (注意運行此命令時,不要執行掛起的事務)

    (3) 最后輸入:net start msdtc 回車,搞定!

    3)另外需要在“服務”里找到這三個服務,都啟動就行了

      I、Distributed Transaction Coordinator

      II、Remote Procedure Call (RPC)

      III、Security Accounts Manager

  2. 打開雙方135端口(打開方式:啟動對應的服務即可)   MSDTC服務依賴于RPC(Remote Procedure Call (RPC))服務,RPC使用135端口,保證RPC服務啟動,如果服務器有防火墻,保證135端口不被防火墻擋住。使用“telnet ip 135 ”命令測試對方端口是否對外開放。也可用端口掃描軟件(比如Advanced Port Scanner)掃描端口以判斷端口是否開放。

   操作:

    1)向防火墻添加msdtc.exe(入站出站)

    點擊添加程序->點擊瀏覽

    找到system32文件夾下的msdtc.exe文件,點打開即可。

   2)添加135端口(入站出站)

    點擊添加端口

    填入135點確定即可。

  3.SQL2005設置

   打開SQL2005企業管理器

   右擊根節點,打開服務器屬性窗口將“需要將分布式事務用于服務器到服務器”的項勾上即可。

  4. 保證鏈接服務器中語句沒有訪問發起事務服務器的操作   在發起事務的服務器執行鏈接服務器上的查詢、視圖或存儲過程中含有訪問發起事務服務器的操作,這樣的操作叫做環回(loopback),是不被支持的,所以要保證在鏈接服務器中不存在此類操作。

  5. 在事務開始前加入set xact_abort ON語句   對于大多數 OLE DB 提供程序(包括 SQL Server),必須將隱式或顯示事務中的數據修改語句中的 XACT_ABORT 設置為 ON。唯一不需要該選項的情況是在提供程序支持嵌套事務時。

  6. MSDTC設置   打開“管理工具――組件服務”,以此打開“組件服務――計算機”,在“我的電腦”上點擊右鍵。在MSDTC選項卡中,點擊“安全配置”按鈕。

   在安全配置窗口中做如下設置:

  • 選中“網絡DTC訪問”。
  • 在客戶端管理中選中“允許遠程客戶端”“允許遠程管理”。
  • 在事務管理通訊中選“允許入站”“允許出站”“不要求進行驗證”。
  • 保證DTC登陸賬戶為:NT Authority/NetworkService

  7. 鏈接服務器和名稱解析問題   建立鏈接sql server服務器,通常有兩種情況:

   第一種情況,產品選”sql server”

    EXEC sp_addlinkedserver

     @server='linkServerName',

     @srvproduct = N'SQL Server'

   這種情況,@server (linkServerName)就是要鏈接的sqlserver服務器名或者ip地址。

   第二種情況,訪問接口選“Microsoft OLE DB Provider Sql Server”或“Sql Native Client”

    EXEC sp_addlinkedserver

     @server=' linkServerName ',

     @srvproduct='',

     @provider='SQLNCLI',

     @datasrc='sqlServerName'

   這種情況,@datasrc(sqlServerName)就是要鏈接的實際sqlserver服務器名或者ip地址。

   Sql server數據庫引擎是通過上面設置的服務器名或者ip地址訪問鏈接服務器,DTC服務也是通過服務器名或者ip地址訪問鏈接服務器,所以要保證數據庫引擎和DTC都能通過服務器名或者ip地址訪問到鏈接服務器。

   數據庫引擎和DTC解析服務器的方式不太一樣,下面分別敘述

   7.1 數據庫引擎    第一種情況的@server或者第二種情況的@datasrc設置為ip地址時,數據庫引擎會根據ip地址訪問鏈接服務器,這時不需要做名稱解析。

    第一種情況的@server或者第二種情況的@datasrc設置為sql server服務器名時,需要做名稱解析,就是把服務器名解析為ip地址。

    有兩個辦法解析服務器名:

     一是在sql server客戶端配置中設置一個別名,將上面的服務器名對應到鏈接服務器的ip地址。

     二是在“C:/WINDOWS/system32/drivers/etc/hosts”文件中增加一條記錄:

      xxx.xxx.xxx.xxx 服務器名

    作用同樣是把服務器名對應到鏈接服務器的ip地址。

   7.2 DTC    不管哪一種情況,只要@server設置的是服務器名而不是ip地址,就需要進行名稱解析,辦法同上面第二種辦法,在hosts文件中增加解析記錄,上面的第一種辦法對DTC不起作用。

    如果@server設置的是ip地址,同樣不需要做域名解析工作。

  8.遠程服務器上的名稱解析

【**如果使用了事務BEGIN DISTRIBUTED TRANSACTION ```COMMIT TRAN,此點很重要,最好雙方都配置。】

   分布式事務的參與服務器是需要相互訪問的,發起查詢的服務器要根據機器名或ip查找遠程服務器的,同樣遠程服務器也要查找發起服務器,遠程服務器通過發起服務器的機器名查找服務器,所以要保證遠程服務器能夠通過發起服務器的機器名訪問到發起服務器。

   一般的,兩個服務器在同一網段機器名能就行很好的解析,但是也不保證都能很好的解析,所以比較保險的做法是:

    在遠程服務器的在“C:/WINDOWS/system32/drivers/etc/hosts”文件中增加一條記錄:

     xxx.xxx.xxx.xxx 發起服務器名

  其實在設置MSDTC安全那部分,允許遠程客戶端這個可以不勾選,但最重要的是下面那一步,在事務管理通訊中選“允許入站”“允許出站”“不要求進行驗證”,在windows2003中默認的是選的第一項要求對雙方進行驗證,我遇到的情況,把這個改過來就不會再報錯了。另外下面的那個登錄用戶只能用那個network service,用別的在sqlserver里就會說msdtc不可用。

二、select * into、drop、Truncate Table是不可以在鏈接中使用的(涉及到更權限)三、SQL Server 阻止了對組件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問。

 問題現象

在Sql Server中遠程查詢的時候出現問題:

select * from openrowset( 'SQLOLEDB', 'DBSever/MSSQL2008'; 'sa'; '123321',SCJZData.dbo.[2014TestRemote])

結果提示: SQL Server 阻止了對組件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此組件已作為此服務器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed Queries' 的詳細信息,請參閱 SQL Server 聯機叢書中的 "外圍應用配置器"。 解決方法

 啟用Ad Hoc Distributed Queries:  exec sp_configure 'show advanced options',1  reconfigure  exec sp_configure 'Ad Hoc Distributed Queries',1  reconfigure 使用完成后,關閉Ad Hoc Distributed Queries:  exec sp_configure 'Ad Hoc Distributed Queries',0  reconfigure  exec sp_configure 'show advanced options',0  reconfigure

四、不支持對系統目錄進行即席更新:配置選項 'show advanced options' 已從 1 更改為 1。請運行 RECONFIGURE 語句進行安裝。

 運行SQL語句

use mastergo-- 啟用 SQL Server 的 CLR 功能exec sp_configure 'show advanced options',1;goRECONFIGURE--RECONFIGURE WITH OVERRIDE

goexec sp_configure 'clr enabled',1;goRECONFIGURE--RECONFIGURE WITH OVERRIDEgo

if object_id('dbo.des_encrypt','FS') is not nulldrop function dbo.des_encrypt;go

if object_id('dbo.des_decrypt','FS') is not nulldrop function dbo.des_decrypt;go

-- 創建程序集if exists (select * from sys.assemblies where name='DES')drop assembly DES;gocreate assembly DES authorization dbofrom 'C:/localccc.dll' -- dll 文件路徑with permission_set=safe;go

create function dbo.des_encrypt (@text nvarchar(max), @key nvarchar(128))returns nvarchar(max)as external name DES.DES.DESEncrypt;go

-- select dbo.des_encrypt(N'hello world', N'88888888');

create function dbo.des_decrypt (@text nvarchar(max))returns nvarchar(max)as external name DES.DES.DESDecrypt;go

 問題現象

配置選項 'show advanced options' 已從 1 更改為 1。請運行 RECONFIGURE 語句進行安裝。消息 5808,級別 16,狀態 1,第 1 行不支持對系統目錄進行即席更新。配置選項 'clr enabled' 已從 1 更改為 1。請運行 RECONFIGURE 語句進行安裝。消息 5808,級別 16,狀態 1,第 1 行不支持對系統目錄進行即席更新。

 解決辦法

  把RECONFIGURE 改成 RECONFIGURE WITH OVERRIDE。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情亚洲综合一区| 国产精品中文在线| 国产精品久久久久免费a∨大胸| 亚洲国产成人在线播放| 91天堂在线观看| 色婷婷亚洲mv天堂mv在影片| 久久久久久成人| 欧美资源在线观看| 国产成人精品视频| 精品国产一区二区三区在线观看| 国内精品久久久久久| 亚洲网站视频福利| 日韩动漫免费观看电视剧高清| 国产精品欧美日韩一区二区| 欧美精品免费播放| 亚洲国产精品专区久久| www.亚洲天堂| 欧美丰满片xxx777| 97在线看免费观看视频在线观看| 成人中心免费视频| 亚洲国语精品自产拍在线观看| 国产美女精品视频| 亚洲国产私拍精品国模在线观看| www.xxxx精品| 亚洲欧美日韩天堂| 国产99视频精品免视看7| 国产美女91呻吟求| 国内精久久久久久久久久人| 色伦专区97中文字幕| 97国产在线视频| 欧美电影免费观看网站| 清纯唯美亚洲激情| 欧美性猛交xxxx富婆弯腰| 九九九久久国产免费| 亚洲色图激情小说| 欧美在线视频免费| 精品欧美国产一区二区三区| 欧美亚洲第一区| 亚洲精品美女久久| 欧美在线不卡区| 日本一区二区三区四区视频| 日韩亚洲成人av在线| 久久在线视频在线| 亚洲自拍欧美另类| 日韩精品中文字幕在线观看| 亚洲一级免费视频| 久久成人精品一区二区三区| 亚洲福利视频免费观看| 日韩av在线电影网| 777777777亚洲妇女| 国产精品中文久久久久久久| 成人免费高清完整版在线观看| 粉嫩av一区二区三区免费野| 成人激情电影一区二区| 在线亚洲男人天堂| 大伊人狠狠躁夜夜躁av一区| 最新69国产成人精品视频免费| 精品视频在线播放色网色视频| 亚洲韩国青草视频| 国产精品91久久久久久| 欧美视频在线视频| 亚洲精品在线91| 亚洲日本欧美日韩高观看| 国产盗摄xxxx视频xxx69| 国产精品美女免费| 精品久久久久久久久久ntr影视| 在线精品高清中文字幕| 欧美性感美女h网站在线观看免费| 日韩欧美在线看| 亚洲伊人第一页| 欧美性猛交xxxx久久久| 久久夜色精品国产欧美乱| 日韩在线精品一区| 国产激情视频一区| 欧美极品第一页| 久久亚洲精品毛片| 日本19禁啪啪免费观看www| 韩国视频理论视频久久| 7m第一福利500精品视频| 国产精品视频在线观看| 欧美日韩国产中文精品字幕自在自线| 日韩一区二区三区在线播放| 日韩有码在线播放| 456国产精品| 国产精品美女在线| xxx欧美精品| 成人国产精品久久久久久亚洲| 国产精品青青在线观看爽香蕉| 久久夜精品va视频免费观看| 欧美日韩综合视频| 欧美裸体xxxx| 久久全国免费视频| 欧美性理论片在线观看片免费| 国产精品jvid在线观看蜜臀| 欧美大荫蒂xxx| 欧美性xxxx极品hd满灌| 一区二区三区无码高清视频| 欧美裸身视频免费观看| 2019中文字幕在线免费观看| 亚洲高清久久久久久| 揄拍成人国产精品视频| 国产成人在线视频| 欧美日韩亚洲一区二| 国产精品美女www爽爽爽视频| 久久天天躁狠狠躁夜夜av| 国产精品入口夜色视频大尺度| 色中色综合影院手机版在线观看| 亚洲最大福利网| 日韩一区二区三区国产| 欧美精品18videos性欧| 成人天堂噜噜噜| 欧美日韩国产成人在线| 精品爽片免费看久久| 日韩视频―中文字幕| 精品国产老师黑色丝袜高跟鞋| 中文字幕精品—区二区| 国产精品99导航| 亚洲成人网av| 亚洲精品久久久久久久久久久久| 亚洲激情在线观看| 久久网福利资源网站| 91亚洲精品久久久久久久久久久久| 色噜噜久久综合伊人一本| 亚洲欧美三级在线| 91久久精品国产| 亚洲深夜福利视频| 91高清视频免费| 欧美电影免费观看大全| 97激碰免费视频| 日韩电影免费观看在线观看| 国产亚洲精品久久久久动| 亚洲激情国产精品| 日韩免费高清在线观看| 91最新在线免费观看| 日韩精品在线免费播放| 97视频在线观看成人| 日本一区二区在线播放| 日韩大陆毛片av| 欧美性极品xxxx做受| 亚洲一区中文字幕| 国内精品久久久久久中文字幕| 欧美日韩高清区| 欧美肥老妇视频| 亚洲韩国欧洲国产日产av| 久久香蕉频线观| 国产福利成人在线| 亚洲一二三在线| 97**国产露脸精品国产| 欧美怡春院一区二区三区| 国内自拍欧美激情| yellow中文字幕久久| 日韩欧美成人精品| 久久好看免费视频| 国产情人节一区| 性欧美暴力猛交69hd| 久久在线视频在线| 久久久久久免费精品| 午夜精品福利电影| 国产精品成人aaaaa网站| 海角国产乱辈乱精品视频| 在线视频欧美日韩| 亚洲一区二区免费在线| 亚洲成人免费在线视频| 久久精品久久久久久国产 免费|