2012年11月23日 星期五

Linked Server(連結的伺服器)

A與B資料庫存在於同一個伺服器,資料互相取得相當容易。

假設A與B資料分散為兩台伺服器,B要取得A的資料時,

可以使用Linked Server(連結的伺服器)技術來做串接。

image

設定方法如下

image

--Setp 1-Create LinkServer
--USE MASTER
--GO
--//[1] Create Linkserver
Exec sp_addlinkedserver
   @server='LDB_MEIHO_MIS', --//linkserver name.
   @srvproduct='LDB_MEI_MIS', --//一般描述
   @provider='SQLOLEDB', --//OLEDB Provider name, check BOL for more providers
   @datasrc='sql2k8r2', --//遠端Server Name  192.168.11.100\sql2k8
   @catalog='MEI_MIS' --//default database for linkserver
GO
--Step 2-Add linked server login
--//[2]Add linked server login
Exec sp_addlinkedsrvlogin
@useself='false', --//false=使用遠端使用者/密碼登入
--//true=使用本地端使用者/密碼連線遠端SERVER                       
@rmtsrvname='LDB_MEI_MIS', --//Linked server name
@rmtuser='admin' , --//遠端登入使用者
@rmtpassword='XXXX' --//遠端登入使用者密碼
GO

建立完成後可在  管理工具>伺服器物件>連結的伺服器  中,看到剛剛建立的物件。

image

取得LDB_MEI_MIS的資料,範例如下:

SELECT     TOP 1 *
FROM       LDB_MEI_MIS.MEI_MIS.dbo.UNIT

延伸:縮短資料庫物件名稱

寫預存程序時,若要使用資料表(LDB_MEI_MIS.MEI_MIS.dbo.UNIT),畫面上打了一大串,可讀性變得很差。

提供兩種方式

  • View
    • 方便預存撰寫
    • 自行定義調整
  • 同義字 CREATE SYNONYM UNIT
    FRO MEI_MIS.DBO.UNIT
  • image

沒有留言:

張貼留言