【轉載】使用sql-server進行分佈式查詢

可以使用sql-server企業管理器進行建立,注意其中的rpc及rpc out兩項,也可以使用sql語句來完成定義,主要涉及到三個存儲過程:

  可以使用sql-server企業管理器進行建立,注意其中的rpc及rpc out兩項,也可以使用sql語句來完成定義,主要涉及到三個存儲過程sp_addlinkedserver,sp_serveroption和sp_addlinkedsrvlogin,以下是三個存儲過程的語法:

  sp_addlinkedserver

  創建一個鏈接的服務器,使其允許對分佈式的、針對 OLE DB 數據源的異類查詢進行訪問。在使用 sp_addlinkedserver 創建鏈接的服務器之後,此服務器就可以執行分佈式查詢。如果鏈接服務器定義爲 Microsoft® SQL Server™,則可執行遠程存儲過程。

  語法

  sp_addlinkedserver [ @server = ] 'server'

  [ , [ @srvproduct = ] 'product_name' ]

  [ , [ @provider = ] 'provider_name' ]

  [ , [ @datasrc = ] 'data_source' ]

  [ , [ @location = ] 'location' ]

  [ , [ @provstr = ] 'provider_string' ]

  [ , [ @catalog = ] 'catalog' ]

  例如:

  sp_addlinkedserver 'ServerName','','SQLOLEDB','dbconn',null,'driver={sql server};server=192.168.1.181;uid=sa,pwd=;'

  此處ServerName爲自定義名稱,dbconn爲定義的odbc數據源

  一般使用的參數如下:

  @server “LINKED SERVER”

  @srvproduct “Product name”

  @provider “Provider”

  @datasrc “Data source”

  二、設置服務器選項

  使用 sp_serveroption 過程,所要使用的參數如下:

  @server “Linked server”

  @optname “RPC”或“RPC OUT”

  @optvalue True 或 False

  三、添加Login

  使用 sp_addlinkedsrvlogin 過程,所要使用的參數如下:

  @rmtsrvname “Linked server”

  @useself True 或 False

  @locallogin 本地LOGIN

  @rmtuser 遠程用戶

  @rmtpassword 遠程用戶口令

  全部完整的示例如下:

  EXEC sp_addlinkedserver 'test','','SQLOLEDB','test',null,'driver={sql server};server=ipaddress;uid=sa,pwd=;'

  exec sp_serveroption N'test', N'rpc out', N'true'

  exec sp_serveroption N'test', N'rpc', N'true'

  exec sp_addlinkedsrvlogin 'test','False',null,'sa',''

  訪問可以使用如下語句:select * from test.pubs.dbo.tb_maintab

  以上在windows2000,sql-server2000測試通過

發佈了6 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章