今天給大家來分享一下跨伺服器操作資料庫,還是以SQL Server的管理工具(SSMS)為平臺進行操作。
什麼是跨伺服器操作?
跨伺服器操作就是可以在本地連接到遠程伺服器上的資料庫,可以在對方的資料庫上進行相關的資料庫操作,比如增刪改查。
為什麼要進行跨伺服器操作
隨著數據量的增多,業務量的擴張,需要在不同的伺服器安裝不同的資料庫,有時候因為業務需要,將不同的伺服器中的數據進行整合,這時候就需要進行跨伺服器操作了。
跨伺服器操作的工具是什麼?
DBLINK(資料庫連結),顧名思義就是資料庫的連結,就像電話線一樣,是一個通道,當我們要跨本地資料庫,訪問另外一個資料庫表中的數據時,本地資料庫中就必須要創建遠程資料庫的dblink,通過dblink本地資料庫可以像訪問本地資料庫一樣訪問遠程資料庫表中的數據。
好了,廢話不多說,跟著我來一步一步的創建DBLINK吧。
創建SQL Server遠程連結方法一
第一步
打開SSMS—>登錄到本地資料庫—>伺服器對象—>連結伺服器(右鍵)—>新建連結伺服器,如下圖1:
圖1 開始創建連結伺服器
第二步
在彈出的對話框中輸入相關信息
· 在【連結伺服器】輸入對方伺服器的IP位址
· 在【伺服器類型】中選擇【SQL Server】
如圖2:
圖2 輸入常規信息
第三步
點擊左側的【安全性】,出現如下頁面,在第3步中輸入對方資料庫的帳號密碼即可。如圖3:
圖3 輸入對方資料庫帳號密碼
點擊確定後即創建成功,如下圖4,可以看到創建好的連結伺服器
圖4 創建好的DBLINK
創建完成後會自動生成相關代碼,密碼用#隱藏了:
EXEC master.dbo.sp_addlinkedserver @server = N'192.168.110.189',@srvproduct=N'SQL Server';EXEC master.dbo.sp_addlinkedsrvlogin@rmtsrvname=N'192.168.110.189',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########'
我們就可以用創建好的DBLINK連結到對方伺服器了
下面我們用創建好的試著查詢對方伺服器上的表來驗證一下。
SELECT * FROM [192.168.110.189].[erp25new].[dbo].[fee_data]
上面FROM欄位後面依此是[DBLINK名].[對方資料庫名].[對方資料庫下模式名].[對方資料庫表名],表名前面的這些內容一個都不能少。查詢結果如下圖:
圖5 查詢結果
創建SQL Server遠程連結方法二
安裝方法一種的第一步點開新建連結伺服器後,開始如下操作。
第一步
按如下步驟在彈出對話框中填寫相關信息,如下圖6:
· 【連結伺服器】中填入連結名稱,最好是伺服器IP,方便辨別,這裡使用自定義名稱亦可。
· 【伺服器類型】選擇其他數據源
· 在【提供程序】中選擇圖中選項
· 【產品名稱】填入自定義內容,亦可不填
· 【數據源】填入對方伺服器IP位址
如圖6 輸入常規信息
第二步
與方法一種的類似,在安全性中填入對方伺服器的帳號密碼即可
點擊確定後即創建成功,如下圖7,可以看到創建好的連結伺服器:
圖7 創建好的DBLINK
創建完成後會自動生成相關代碼,密碼用#隱藏了:
EXEC master.dbo.sp_addlinkedserver @server = N'TEST_SQL_SERVER',@srvproduct=N'TEST',@provider=N'SQLNCLI11', @datasrc=N'192.168.110.189'EXEC master.dbo.sp_addlinkedsrvlogin@rmtsrvname=N'TEST_SQL_SERVER',@useself=N'False',@locallogin=NULL,@rmtuser=N'sa',@rmtpassword='########'
上述代碼中的欄位含義可以參考我另外一篇推文,連結如下:
SQL Server學習之路(五)——DBLINK的用法
查詢對方資料庫驗證方法與方法一類似,只是將資料庫名改成自定義名稱即可:
SELECT * FROM [TEST_SQL_SERVER].[erp25new].[dbo].[fee_data]
好了,今天先介紹到這裡,下次再給大家講解從SQL Server連結到Oracle和MYSQL的具體操作方法,記得關注哦~