SQL SERVER伺服器連結連線(即sql server的跨庫連線)
阿新 • • 發佈:2019-01-23
一、如果你要訪問的資料庫,不在同一個伺服器上,那麼需要用伺服器連結:
EXEC sp_addlinkedserver
@server='dblink名稱',
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='目標伺服器地址'
GO
EXEC sp_addlinkedsrvlogin
'dblink名稱',
'false',
NULL,
'使用者名稱',
'密碼'
GO
小注:
1、上下兩部分的'dblink名稱'應該是一樣的。
2、下面的使用者名稱與密碼應該是目標伺服器上的使用者名稱及密碼。
3、使用的時候,只需要修改'dblink名稱'、目標伺服器地址、使用者名稱及密碼即可,其餘的地方不需要修改。
4、執行sql server的跨庫連線的時候,應該用sa賬戶登入(本地資料庫也就是源資料庫的sa賬戶登入)
5、如果需要連結不是資料庫預設例項,需要在@datasrc中指定 對應的資料庫例項
比如:需要訪問的資料庫例項是 SQLSERVERtest
則@datasrc需要這麼寫
@datasrc='192.168.120.119\SQLSERVERtest'
圖形化建立連線,如下圖:
二、測試伺服器連結是否成功的兩種方式
1、SQL語句
--查詢遠端表
select *
from [dblink名稱].遠端資料庫名.dbo.表
2、假如你新建的dblink名稱為test,如下圖:
建立好後,就在這個位置了,可以右鍵測試是否連通。
三、把本地表的資料,複製到遠端表
insert into [Link].遠端資料庫名.dbo.表(列的列表)
select 列
from 本地表
四、把遠端表的資料,複製到本地表
insert into 本地表
select 列
from [Link].遠端資料庫名.dbo.表