1. 程式人生 > >SQL SERVER伺服器連結連線(即sql server的跨庫連線)

SQL SERVER伺服器連結連線(即sql server的跨庫連線)

一、如果你要訪問的資料庫,不在同一個伺服器上,那麼需要用伺服器連結:

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.表