2013年8月28日 星期三

dblink about SQL Server

在A主機的SQL Server想查詢B主機的SQL Server, 可以採用dblink的概念, 建立連結伺服器, 接著就可以SQL語法進行資料查詢操作, 非常方便。

1. 建立連結伺服器
exec sp_addlinkedserver
@server = ‘testDB’  -- 別名
,@srvproduct = ‘’
,@provider = ‘SQLOLEDB’
,@datasrc = ‘172.20.199.xxx’  -- 遠端主機

2.建立連結登入資料
exec sp_addlinkedsrvlogin
@rmtsrvname = ‘testDB’ -- 別名
,@useself = ‘false’
,@locallogin = NULL
,@rmtuser = ‘testmgr’   -- 遠端使用者帳號
,@rmtpassword = ‘testmgr’   -- 遠端使用者密碼

3.查看連結伺服器資料
select * from sys.sysservers

4.查詢連結伺服器的資料庫的所有資料表
exec sp_tables_ex testDB

5.查詢連結伺服器的資料表的資料
select * from testDB.test.dbo.schl

6.移除連結登入資料
exec sp_droplinkedsrvlogin
@rmtsrvname = ‘testDB’
,@locallogin = NULL

7.移除連結伺服器
exec sp_dropserver @server = ‘testDB’