分享方式:


開始使用適用於 Azure SQL Database 的 Azure Synapse Link

此文章是開始使用適用於 Azure SQL Database 的 Azure Synapse Link 的逐步指南。 如需此功能的概觀,請參閱適用於 Azure SQL Database 的 Azure Synapse Link

必要條件

  • 若要取得適用於 SQL 的 Azure Synapse Link,請參閱建立新的 Azure Synapse 工作區。 目前的教學課程是在公用網路中建立適用於 SQL 的 Azure Synapse Link。 此文章假設您在建立 Azure Synapse 工作區時,已選取 [停用受控虛擬網路] 和 [允許來自所有 IP 位址的連線]。 如果您想要搭配網路安全性設定適用於 Azure SQL Database 的 Azure Synapse Link,另請參閱搭配網路安全性設定適用於 Azure SQL Database 的 Azure Synapse Link

  • 針對以資料庫交易單位 (DTU) 為基礎的佈建,請確定您的 Azure SQL Database 服務至少為標準層,且具有至少 100 個 DTU。 不支援佈建少於 100 個 DTU 的免費、基本或標準層。

設定來源 Azure SQL 資料庫

  1. 登入 Azure 入口網站

  2. 移至 Azure SQL 邏輯伺服器,選取 [身分識別],然後將 [系統指派的受控識別] 設定為 [開啟]

    開啟 [系統指派的受控識別] 的螢幕擷取畫面。

  3. 移至 [網路],然後選取 [允許 Azure 服務和資源存取此伺服器] 核取方塊。

    顯示如何使用 Azure 入口網站來設定 SQL 資料庫防火牆的螢幕擷取畫面。

  4. 使用 Microsoft SQL Server Management Studio (SSMS) 或 Azure Data Studio 來連線至邏輯伺服器。 如果您想要讓 Azure Synapse 工作區使用受控識別連線到您的 Azure SQL 資料庫,請在邏輯伺服器上設定 Microsoft Entra 系統管理員權限。 若要在步驟 6 中套用權限,請使用相同的系統管理員名稱來搭配系統管理權限連線到邏輯伺服器。

  5. 展開 [資料庫],以滑鼠右鍵按一下您已建立的資料庫,然後選取 [新增查詢]

    顯示如何選取資料庫並建立新查詢的螢幕擷取畫面。

  6. 如果您想要讓 Azure Synapse 工作區使用受控識別連線到您的來源 Azure SQL 資料庫,請執行下列指令碼,以提供來源資料庫的受控識別權限。

    如果您想要改為讓 Azure Synapse 工作區透過 SQL 驗證連線到來源 Azure SQL 資料庫,您可以略過此步驟

    CREATE USER <workspace name> FROM EXTERNAL PROVIDER;
    ALTER ROLE [db_owner] ADD MEMBER <workspace name>;
    
  7. 您可以使用自己的結構描述來建立資料表。 下列程式碼只是 CREATE TABLE 的範例。 您也可以在此資料表中插入一些資料列,以確保有資料可複寫。

    CREATE TABLE myTestTable1 (c1 int primary key, c2 int, c3 nvarchar(50)) 
    

建立目標 Azure Synapse SQL 集區

  1. 開啟 Synapse Studio

  2. 開啟 [管理] 中樞,前往 [SQL 集區],然後選取 [新增]

    顯示如何從 Synapse Studio 建立新 SQL 專用集區的螢幕擷取畫面。

  3. 輸入唯一的集區名稱,使用預設設定,並建立專用集區。

  4. 如果您預期的結構描述在目標 Azure Synapse SQL 資料庫中無法使用,則必須建立結構描述。 如果您的結構描述是「資料庫擁有者」(dbo),則可以略過此步驟。

  1. 在 Azure 入口網站的左窗格中,選取 [整合]

  2. 在 [整合] 窗格上,選取加號 (+),然後選取 [連結連線]

    顯示如何從 Synapse Studio 選取新連結連線的螢幕擷取畫面。

  3. 在 [來源連結服務] 底下,選取 [新增]

    顯示如何選取新連結服務的螢幕擷取畫面。

  4. 輸入您來源 Azure SQL 資料庫的資訊。

    • 選取對應至您 Azure SQL 資料庫的訂用帳戶、伺服器和資料庫。
    • 執行下列任一步驟:
      • 若要使用工作區的受控識別將 Azure Synapse 工作區連線到來源資料庫,請將 [驗證類型] 設定為 [受控識別]
      • 若要改為使用 SQL 驗證,如果您知道要使用的使用者名稱和密碼,請選取 [SQL 驗證]

    顯示如何輸入伺服器和資料庫詳細資料以建立新連結服務的螢幕擷取畫面。

    注意

    僅支援舊版中的連結服務。

  5. 選取 [測試連線] 以確保防火牆規則已正確設定,且工作區可以成功連線到來源 Azure SQL 資料庫。

  6. 選取 建立

    注意

    您在這裡建立的連結服務不是適用於 SQL 的 Azure Synapse Link 專用的服務。 其可供具有適當權限的任何工作區使用者使用。 請花一點時間了解可存取此連結服務及其認證的使用者範圍。 如需 Azure Synapse 工作區中權限的詳細資訊,請參閱 Azure Synapse 工作區存取控制概觀 - Azure Synapse Analytics

  7. 選取一或多個來源資料表以複寫至 Azure Synapse 工作區,然後選取 [繼續]

    注意

    指定的來源資料表一次只能在一個連結連線中啟用。

  8. 選取目標 Azure Synapse SQL 資料庫和集區。

  9. 提供 Azure Synapse Link 連線的名稱,然後為連結連線計算選取核心數目。 這些核心將用於將資料從來源移至目標。

    注意

    • 您在這裡選取的核心數目會配置給擷取服務,以處理資料載入和變更。 它們不會影響來源 Azure SQL 資料庫 組態或目標專用 SQL 集區組態。
    • 建議從較少的核心數目開始,並視需要增加核心數目。
  10. 選取 [確定]。

  11. 開啟新的 Azure Synapse Link 連結時,您可以更新目標資料表名稱、散發類型和結構類型。

    注意

    • 當您的數據包含 varchar(max)、nvarchar(max)varbinary(max)時,請考慮針對結構類型使用堆積數據表
    • 啟動連結連線之前,請確定 Azure Synapse SQL 專用集區中的結構描述已建立。 適用於 SQL 的 Azure Synapse Link 會在 Azure Synapse SQL 專用集區中的結構描述下自動建立資料表。

    顯示從 Synapse Studio 編輯 Azure Synapse Link 連線之位置的螢幕擷取畫面。

  12. 在 [現有目標資料表上的動作] 下拉式清單中,如果目的地中已有資料表,請選擇最適合案例的選項。

    • 卸除並重新建立資料表:會卸除並重新建立現有的目標資料表。
    • 非空白資料表失敗:如果目標資料表包含資料,指定資料表的連結連線會失敗。
    • 與現有資料合併:資料會合併至現有的資料表。

    注意

    如果要透過選擇 [與現有資料合併] 將多個來源合併至相同的目的地,請確保來源包含不同的資料,以避免衝突和非預期的結果。

  13. 指定是否要跨資料表啟用交易一致性

    • 啟用此選項時,來源資料庫上跨越多個資料表的交易跨越一律會複寫至單一交易中的目的地資料庫。 不過,這將會在整體複寫輸送量上建立額外負荷。
    • 停用此選項時,每個資料表都會以平行連線方式,將其專屬交易界限中的變更複寫至目的地,進而改善整體複寫輸送量。

    注意

    當您想要跨資料表啟用交易一致性時,也請確定 Synapse 專用 SQL 集區中的交易隔離等級是 READ COMMITTED SNAPSHOT ISOLATION。

  14. 選取 [全部發佈] 以將新連結連線儲存至服務。

選取 [開始] 並等候幾分鐘的時間讓資料複寫。

注意

連結連線會從來源資料庫的完整初始載入開始,接著透過 Azure SQL Database 中的變更摘要功能遞增變更摘要。 如需詳細資訊,請參閱適用於 SQL 的 Azure Synapse Link 變更摘要

您可以監視 Azure Synapse Link 連線的狀態、查看哪些資料表正開始複製 (「快照建立中」),以及查看哪些資料表處於連續複寫模式 (「複寫中」)。

  1. 移至 [監視] 中樞,然後選取 [連結連線]

    螢幕擷取畫面顯示如何從監視中樞監視 Azure Synapse Link 連線的狀態。

  2. 開啟您開始的 Azure Synapse Link 連線,並檢視每個資料表的狀態。

  3. 在連線的監視檢視上選取 [重新整理],以觀察狀態的任何更新。

查詢複寫的資料

等候幾分鐘,然後檢查目標資料庫是否有預期的資料表和資料。 您現在可以探索目標 Azure Synapse SQL 專用集區中的複寫資料表。

  1. 在 [資料] 中樞的 [工作區] 下,開啟目標資料庫。

  2. 在 [資料表] 下,以滑鼠右鍵按一下其中一個目標資料表。

  3. 選取 [新增 SQL 指令碼],然後選取 [前 100 個資料列]

  4. 執行此查詢來檢視目標 Azure Synapse SQL 專用集區中複寫的資料。

  5. 您也可以使用 SSMS 或其他工具來查詢目標資料庫。 使用工作區的 SQL 專用端點作為伺服器名稱。 此名稱通常是 <workspacename>.sql.azuresynapse.net。 透過 SSMS 或其他工具連線時,新增 Database=databasename@poolname 作為額外的連接字串參數。

若要在 Synapse Studio 中新增或移除資料表,請執行下列動作:

  1. 開啟 [整合] 中樞。

  2. 選取您要編輯的連結連線並加以開啟。

  3. 執行下列任一步驟:

    • 若要新增資料表,請選取 [新增資料表]
    • 若要移除資料表,請選取該資料表旁的垃圾桶圖示。

    新增或移除資料表的連結連線窗格的螢幕擷取畫面。

    注意

    您可以在連結連線執行時直接新增或移除資料表。

若要在 Synapse Studio 中停止 Azure Synapse Link 連線,請執行下列動作:

  1. 在 Azure Synapse 工作區中,開啟 [整合] 中樞。

  2. 選取您要編輯的連結連線並加以開啟。

  3. 選取 [停止] 以停止連結連線,而這將會停止複寫您的資料。

    停止連結連線之窗格的螢幕擷取畫面。

    注意

    • 如果您在停止連結連線之後重新啟動,將會從來源資料庫的完整初始載入開始,接著遞增變更摘要。
    • 如果您選擇 [與現有資料合併] 作為現有目標資料表的動作,當您停止連結連線並重新啟動它時,該期間來源中刪除的記錄不會在目的地中刪除。 在這種情況下,若要確保資料一致性,請考慮使用暫停/繼續而不是停止/啟動,或在重新啟動連結連線之前清除目的地資料表。