首頁 > 資料庫 > mysql教程 > 如何跨不同伺服器上的資料庫連接表?

如何跨不同伺服器上的資料庫連接表?

DDD
發布: 2025-01-13 09:51:42
原創
188 人瀏覽過

How Can I Join Tables Across Databases on Different Servers?

跨不同伺服器資料庫連接表

整合來自不同伺服器資料庫的數據,為執行全面查詢提供了可能。為此,您可以考慮以下策略:

使用 sp_addlinkedserver

使用 sp_addlinkedserver 建立伺服器鏈接,可在兩個資料庫之間建立連接。請參考相關文件以了解其使用方法。建立連結後,您可以像往常一樣建立查詢,並在資料庫名稱前加上連結伺服器名稱,如下所示:

<code class="language-sql">SELECT *
FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1
INNER JOIN [DB2].[MyDatabaseOnDB2].[dbo].[MyOtherTable] tab2
ON tab1.ID = tab2.ID</code>
登入後複製

使用 OPENQUERY

OPENQUERY 允許您在遠端伺服器上執行 SQL 語句,僅檢索所需資料。這種方法提高了速度,並允許遠端伺服器優化查詢。將資料快取在本地資料庫的臨時表中,可以方便後續查詢,類似於連接標準表。

例如:

<code class="language-sql">SELECT *
INTO #myTempTable
FROM OPENQUERY([DB2], 'SELECT * FROM [MyDatabaseOnDB2].[dbo].[MyOtherTable]')
SELECT * FROM [MyDatabaseOnDB1].[dbo].[MyTable] tab1
INNER JOIN #myTempTable tab2 ON tab1.ID = tab2.ID</code>
登入後複製

請參考 OPENQUERY 的相關文件以了解更多範例。雖然這裡提供的範例比較簡單,但使用 sp_addlinkedserver 的第一種方法可能更適合。然而,當需要過濾資料時,OPENQUERY 可以提高效能。

以上是如何跨不同伺服器上的資料庫連接表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板