跨不同伺服器資料庫連接表
整合來自不同伺服器資料庫的數據,為執行全面查詢提供了可能。為此,您可以考慮以下策略:
使用 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中文網其他相關文章!