輕松

          記述我學習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 輕松 閱讀(4622) 評論(0)  編輯  收藏 所屬分類: 其他文章

          主站蜘蛛池模板: 那曲县| 古浪县| 广东省| 和平县| 前郭尔| 邹平县| 沅江市| 吉木萨尔县| 西林县| 丰都县| 平武县| 蓬溪县| 岐山县| 竹山县| 湖南省| 黄石市| 郎溪县| 陵川县| 泾川县| 昌乐县| 淮南市| 高陵县| 长汀县| 绥江县| 华安县| 巫溪县| 莫力| 漠河县| 平乐县| 宽城| 临漳县| 高唐县| 文山县| 万山特区| 沁水县| 文水县| 中西区| 泽普县| 威信县| 临颍县| 七台河市|