鏈結伺服器的配置和使用 SQL Server

2022-01-29 12:46:30 字數 2501 閱讀 4761

最近實施的乙個專案,因為兩個軟體的後台資料庫不能共存於乙個伺服器上(一些相關的設定有衝突),因此需要跨伺服器進行資料庫的同步,查詢了一些相關的資料,跨伺服器資料的同步處理方式一種是複製(replication),即將資料由某處複製到乙個或多個目的地;另一種即鏈結伺服器。因為此專案的資料同步比較簡單,故主要採用鏈結伺服器來處理同步資料!

以下是關於鏈結伺服器的使用方法:

配置鏈結伺服器

鏈結伺服器一般用來處理分布式查詢。當客戶端應用程式通過鏈結伺服器執行分布式查詢時,sql server 將分析該命令,並向 ole db 傳送行集請求。行集請求的形式可以是對提供程式執行查詢或從提供程式開啟基表。

分布式查詢可以訪問來自多種異類資料來源的資料,而這些資料可儲存在相同或不同的計算機上。sql server 2000 通過使用 ole db(microsoft 通用資料訪問應用程式介面 (api) 規範)支援分布式查詢。

鏈結伺服器配置允許sql server對其它伺服器上的 ole db 資料來源執行命令。

管理鏈結伺服器的定義

設定鏈結伺服器時,請註冊 sql server 的連線資訊和資料來源資訊。完成註冊後,該資料來源總可以用單個邏輯名稱引用。

可以使用儲存過程或 sql server 企業管理器來建立或刪除鏈結伺服器的定義。

使用儲存過程:

使用 sp_addlinkedserver 建立鏈結伺服器的定義。若要檢視有關給定的 sql server 例項中定義的鏈結伺服器的資訊,請使用 sp_linkedservers。有關更多資訊,請參見 sp_addlinkedserver 和 sp_linkedservers。

使用 sp_dropserver 刪除鏈結伺服器的定義。還可以使用此儲存過程刪除遠端伺服器。

使用 sql server 企業管理器:

使用 sql server 企業管理器控制台樹和"鏈結伺服器"節點(在"安全性"資料夾內)來建立鏈結伺服器的定義。為鏈結伺服器定義名稱、提供程式屬性、伺服器選項和安全選項。有關各種為不同的 ole db 資料來源設定鏈結伺服器的方式以及要使用的引數值的更多資訊,請參見 sp_addlinkedserver。

通過右擊鏈結伺服器並單擊"屬性"命令,可編輯鏈結伺服器的定義。

通過右擊鏈結伺服器並單擊"刪除"命令,可刪除鏈結伺服器的定義。

當對鏈結伺服器執行分布式查詢時,請對每個要查詢的資料來源指定完全合法的、由四部分組成的表名。這個由四部分組成的名稱的格式應是:linked_server_name.catalog.schema.object_name。

眾所周知,在大型的資料庫系統設計中,為了提公升效率,不可避免的要將不用的業務放在不同的資料例項上,因此我們使用到了鏈結伺服器,鏈結伺服器為大家在不同的服務之間進行分布式資料操作提供了便利。本例子基於windows 2003作業系統,sql server 2000(sp4)資料庫。

首先要開啟你本地伺服器和遠端伺服器的msdtc:

開始-->microsoft sql server-->服務管理器-->選擇服務中的 distributed transaction coordinator(此即dtc),點選「啟動」按鈕,啟動msdtc

開啟以後,在本地伺服器上註冊遠端伺服器的資訊,建立linkedserver,操作**如下:

sp_addlinkedserver @server='cardsrv',@srvproduct='',@catalog='ihrp',@provider='sqloledb',

@provstr='driver=;initial catalog=ihrp;server=192.168.0.32;uid=sa;pwd=;'

其中@server名稱隨便取,@catalog為資料庫名,@provider為資料庫驅動,@provstr為連線字串

然後使用sp_linkedservers,檢視此伺服器是否已經成功註冊為鏈結伺服器,如果已經註冊成功,則使用

exec sp_addlinkedsrvlogin 'cardsrv','false',註冊login帳號,然後你就可以執行乙個sql語句,試試看看是否可以從鏈結伺服器中運算元據了,

例如:select top 10 * from cardsrv.dbo.dept_class

就是從剛才我設定的鏈結伺服器test中的乙個表:dept_class中查詢資料。

備註:1、關於鏈結伺服器的詳細情況請參閱聯機叢書中的sp_addlinkedserver、 sp_addlinkedsrvlogin、sp_addserver、sp_dropserver、sp_serveroption、 sp_linkedservers等系統級儲存過程。

2、關於此鏈結伺服器的建立及其使用在不同環境下(全部內網伺服器、一內網一公網伺服器、全公網伺服器)測試,均告通過。

3、有時候在儲存過程中訪問鏈結伺服器的時候可能會碰到如下的提示,必須要對ansi warning 和ansi nulls進行設定,這時候按照如下的方法進行設定:

設定本地資料庫的屬性-->連線-->選上ansi warning 和 ansi nulls

(如圖)

Samba伺服器的配置和使用

一 安裝samba sudo apt get update sudo apt get install samba samba common bin sudo apt get install libtalloc2二 重啟伺服器 重新啟動samba伺服器 sudo etc init.d samba re...

使用鏈結伺服器獲取遠端伺服器資料

首先新增鏈結伺服器,使用儲存過程sp addlinkedserver sp addlinkedserver server n remote server srvproduct n provider n sqloledb datasrc n 192.168.1.0 新增連線伺服器登入sp addlin...

SQLServer的鏈結伺服器

今天在研究自動化測試時,需要檢視access資料檔案的資料表,但是沒有裝access,找來找去找不到office的安裝盤,情急下突然想起在sqlserver中可以新增 鏈結伺服器 來訪問其他型別的資料庫,方法如下 1 開啟sqlserver企業管理器,選擇 安全性 鏈結伺服器 單擊右鍵,選擇 新建鏈...