簡體   English   中英

如何在 Azure SQL (SAAS) 中連接來自不同數據庫的表?

[英]How can I join tables from different databases in Azure SQL (SAAS)?

讓舊的應用程序連接來自不同數據庫的 SQL 個表,如下所示:

SELECT a.value, b.value
  FROM databaseA.dbo.tableA AS a
       JOIN databaseB.dbo.tableB AS b
         ON a.thekey == b.thekey

作為第 3 方,我們必須接受主要實施者的決定,讓客戶使用許可證 Azure SQL SAAS(軟件即服務;我是新手,如果某些術語不正確,抱歉)。

是否可以在 Azure SQL 中擁有databaseAdatabaseB (該部分是可能的,通過 SSMS 檢查)並執行相同的 JOIN(我不知道該部分)?

我試過了,但失敗了。 我不知道是否需要做更多的事情才能使另一個數據庫從每個數據庫中可見,或者根本不可能。

如果不可能,推薦的技術是什么來替換舊的 SQL 代碼?

正如您評論所說:“我知道這與在一台物理 SQL 服務器內工作不同。另一方面,不同的服務器可能與可能的復制有關。對嗎?”,是的,你是對的。

對於Azure SQL數據庫(PSSA),我們只能使用彈性查詢來實現跨庫查詢:

  • 彈性查詢功能(預覽版)使您能夠在 Azure SQL 數據庫中運行跨多個數據庫的 Transact-SQL 查詢。 它允許您執行跨數據庫查詢以訪問遠程表,並連接 Microsoft 和第三方工具(Excel、Power BI、Tableau 等)以使用多個數據庫進行跨數據層查詢。

注意:確保主數據庫具有訪問遠程數據庫的權限。 將客戶端 IP 添加到他們的數據庫防火牆。 遠程數據庫可以在不同的 Azure SQL 服務器。

如果您在Azure SQL 托管實例Azure SQL 服務器上使用 Azure VM ,則可以像本地 SQL 服務器一樣跨查詢運行此查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM