婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > SQL Server 2008數據庫分布式查詢知識

SQL Server 2008數據庫分布式查詢知識

熱門標簽:400電話怎么申請收費標準 南京外呼系統租用 寧夏外呼系統方案 濟南電銷外呼防封卡怎么樣 怎樣在地圖標注自己的信息 高德地圖標注生成 400電話辦理2273649Z空間 電銷外呼系統違規 智能語音外呼系統打電話

在接觸公司一個系統時,公司使用的是SQL Server 2008數據庫,里面涉及到了多個數據庫之間的查詢,而且數據庫是分布式的,數據庫分布在多臺服務器之間,并且各個數據庫各盡其責,負責存放不同模塊功能的數據。這里面就要涉及到了數據庫的分布式查詢。

補充一下分布式查詢的知識:

分布式查詢從多異類數據源中訪問數據。這些數據源可以存儲在同一臺計算機或不同的計算機上。Microsoft SQL Server 通過使用 OLE DB 來支持分布式查詢。

SQL Server 用戶可以使用分布式查詢訪問以下內容:

  • 存儲在多個 SQL Server 實例中的分布式數據。
  • 存儲在各種可以使用 OLE DB 訪問接口訪問的關系和非關系數據源中的異類數據。

OLE DB 訪問接口將在稱為行集的表格格式對象中公開數據。SQL Server 允許在 Transact-SQL 語句中像引用 SQL Server 表一樣引用 OLE DB 訪問接口中的行集。

外部數據源中的表和視圖可以在 SELECT、INSERT、UPDATE 和 DELETE Transact-SQL 語句中直接引用。因為分布式查詢使用 OLE DB 作為基本接口,因此它們不僅可以訪問帶有 SQL 查詢處理器的傳統 DBMS 系統,也可以訪問復雜的、具有不同功能的數據源所管理的數據。只要擁有數據的軟件通過 OLE DB 訪問接口在表格格式行集中公開其數據,就可在分布式查詢中使用此數據

因為公司的業務要經常使用不同服務器上的數據庫,所以公司的數據庫都建立了一堆的鏈接服務器。通過建立這些鏈接服務器,就可以使用這些鏈接服務器的別名來簡化SQL語句的編寫和sql開銷;

使用SQL SERVER 2008管理工具可以直接界面化的添加鏈接服務器;這里給出使用sql語句,利用系統存儲過程來添加鏈接服務器的方法,這里要用到兩個存儲過程:

sp_addlinkedserver
sp_addlinkedsrvlogin

一個是添加鏈接服務器,一個是添加鏈接服務器連接登陸驗證;具體此兩個存儲過程參數含義,請參考微軟手冊;注意,執行此存儲過程登陸的用戶必須要有Sysadmin權限才能執行;

假設現在在10.155.25.100 上的db中要使用10.155.24.101上一個 FlieDB01表中的信息;則在10.155.25.100上進行如下SQL 語句:

exec sp_addlinkedserver
@server='SZDB01', --要添加的連接服務器的別名
@srvproduct='',
@provider='SQLOLEDB',--指定通過SQLOLEDB鏈接
@datasrc='10.155.24.101'--DB地址
exec sp_addlinkedsrvlogin
'SZDB01',--連接服務器的別名
'false',
NULL,
'szUSER',--登陸用戶名
'Password@123'--登陸密碼
--執行完之后就可以寫這樣的查詢語句了
select * from openquery([SZDB01],'select file_No,file_Name from FileDB01.dbo.getFileList()') as tableA --這里的DZDB01就是上面添加的連接服務器的別名

有多個就添加多個連接服務器;這是其中的一種;

還有一種就是使用opendatasource,這是SQL的一個函數,其能夠打開指定的DB,而且這個函數的執行權限很低,技術手冊中說任何人都可以執行此函數;這個函數也是hacker常用的數據爆表的一個手段;目前查看SQL Server 2008的手冊中,其說明還是說所有人都有權限執行;

這個函數只能是不常用的查詢中會用到;

舉一個簡單的例子:

select * from opendatasource('SQLOLEDB','Data Source=10.155.24.100;User ID="szUSER";Password="Password@123"') as tableA

這個也是對上面的一種實現;

opendatasource還可以直接打開mdb這類文件。這種我就沒有去試驗了,技術從書中有說明;

select * from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="d:/abcd.mdb"') 

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • SQL Server游標的介紹與使用
  • SQL Server三種鎖定模式的知識講解
  • SQL Server視圖的講解
  • Sql Server的一些知識點定義總結
  • C#連接SQL Server的實現方法
  • laravel5使用freetds連接sql server的方法
  • 詳解易語言操作sql server實例
  • SQL Server中的SELECT會阻塞SELECT嗎
  • sqlserver2008首次登錄失敗問題及解決方法
  • SQL Server四個系統表的知識講解

標簽:貴港 潛江 茂名 仙桃 長白山 唐山 惠州 平頂山

巨人網絡通訊聲明:本文標題《SQL Server 2008數據庫分布式查詢知識》,本文關鍵詞  SQL,Server,2008,數據庫,分布式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL Server 2008數據庫分布式查詢知識》相關的同類信息!
  • 本頁收集關于SQL Server 2008數據庫分布式查詢知識的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 怀宁县| 滨海县| 山西省| 车致| 资源县| 东宁县| 德江县| 嘉定区| 防城港市| 奇台县| 明星| 宜宾市| 易门县| 木兰县| 离岛区| 泸溪县| 常宁市| 临江市| 西乌珠穆沁旗| 博爱县| 马公市| 门头沟区| 英吉沙县| 鄂尔多斯市| 沁阳市| 休宁县| 洞口县| 太原市| 依安县| 策勒县| 宁蒗| 秦皇岛市| 永清县| 九龙坡区| 竹溪县| 双流县| 道真| 旺苍县| 太谷县| 斗六市| 广水市|