輕松

          記述我學習java的里程

          常用鏈接

          統計

          積分與排名

          友情鏈接

          最新評論

          SQL Server跨數據庫訪問及分布式事務的使用及配置

          一、跨數據庫訪問

          第一種方式

          SELECT * FROM OPENDATASOURCE(

           'SQLOLEDB',

           'Data Source=遠程ip;User ID=sa;Password=密碼'

           ).庫名.dbo.表名

           WHERE 條件

          第二種方式

          sql server->服務->安全性->鏈接服務器下建立一個具有別名的鏈接服務器。然后通過以下方式訪問:

          SELECT * FROM [鏈接服務器名].庫名.dbo.表名

           WHERE 條件

          需要注意的是建立鏈接數據庫服務器類型如果選擇“SQL server”,那么鏈接服務器名稱必須用要鏈接的服務器的在網絡中的機器名或IP,如果要使用其它別名,可以在WINDOWS\system32\drivers\etc\hosts文件里添加一個別名的映射。

          解除SQL阻止sqlserver 2005情況)
          SQL Server 阻止了對組件 ‘Ad Hoc Distributed Queries’ 的 STATEMENT’OpenRowset/OpenDatasource’ 的訪問,因為此組件已作為此服務器安全配置的一部分而被關閉。系統管理員可以通過使用 sp_configure 啟用 ‘Ad Hoc Distributed Queries’。有關啟用 ‘Ad Hoc Distributed Queries’ 的詳細信息,請參閱 SQL Server 聯機叢書中的 外圍應用配置器。

          因為SQL2005默認是沒有開啟’Ad Hoc Distributed Queries’ 組件,開啟方法如下

          EXEC sp_configure 'show advanced options', 1

          GO

          RECONFIGURE

          GO

          EXEC sp_configure 'Ad Hoc Distributed Queries', 1

          GO

          RECONFIGURE

          GO

          關閉Ad Hoc Distributed Queries

          exec sp_configure 'Ad Hoc Distributed Queries', 0

          reconfigure

          exec sp_configure 'show advanced options', 0

          reconfigure

          二、分布式事務的配置

          1.DTCPing.exe工具測試兩臺機器的DTC服務是否可以聯通。

          2.如果有問題檢查MSDTC服務是否啟動。

          3.MSDTC依賴于RPC,RPC使用的端口是135,測試135端口是否打開.是否有防火墻?如果有先關了防火墻.   telnet   IP   135     如果是關閉的打開它.  

          4.打開“控制面板->管理工具->組件服務”,然后展開“組件服務->計算機->我的電腦”右鍵屬性。選擇MSDTCTab欄,點擊安全性配置按鈕,打開窗口,將“網絡DTC訪問”選項選中,并將“允許遠程客戶端”,“允許入站”,“允許出站”都選中,并選擇“不要求進行驗證”,“啟用事務Internet協議(TIP)事務”,“啟用XA事務”都選中。然后確定即可。(以上選項windows默認不開放,必須配置)

          5.檢查你的兩臺服務器是否在同一個域中.  如果不在同一個域中,是否建立可信任聯接.  

          6.如果是WIN2000,升級到SP4   

          7.確認MDAC版本是2.6以上,最好是2.8.  

          8.SQL server存儲過程中使用分布式事務時,必須SET   XACT_ABORT   ON --設置分布式事務如果發生問題主動回滾操作

          9.可以聲明使用BEGIN DISTRIBUTED TRANSACTION,如果未明確生明,在事務塊中包含鏈接服務器的訪問,SQL server會自動升級成分布式事務。

          posted on 2010-10-18 10:50 輕松 閱讀(4633) 評論(0)  編輯  收藏 所屬分類: 其他文章

          主站蜘蛛池模板: 普安县| 长武县| 清新县| 阳新县| 西宁市| 襄城县| 西藏| 璧山县| 汉沽区| 拜泉县| 河曲县| 金寨县| 望奎县| 依兰县| 藁城市| 中卫市| 镇巴县| 麻江县| 宁南县| 荆门市| 龙游县| 荔浦县| 仙桃市| 迁安市| 宁武县| 丹巴县| 四子王旗| 财经| 渝北区| 四平市| 锦屏县| 新乐市| 福安市| 昂仁县| 涡阳县| 通许县| 广河县| 石林| 阳谷县| 祁东县| 揭西县|