開始使用適用於 SQL Server 2022 的 Azure Synapse Link
本文提供開始使用適用於 SQL Server 2022 的 Azure Synapse Link 逐步指南。 如需概觀,請參閱適用於 SQL Server 2022 的 Azure Synapse Link。
必要條件
在開始前,請參閱建立新的 Azure Synapse 工作區,以取得適用於 SQL 的 Azure Synapse Link。 目前的教學課程是在公用網路中建立適用於 SQL 的 Azure Synapse Link。 本文假設您在建立 Azure Synapse 工作區時選取 [停用受控虛擬網路] 和 [允許來自所有 IP 位址的連線]。 如果您想要針對具有網路安全性的 SQL Server 2022 設定 Azure Synapse Link,另請參閱使用網路安全性設定適用於 SQL Server 2022 的 Azure Synapse Link。
建立 Azure Data Lake Storage Gen2 帳戶,此帳戶與您使用 Azure Synapse Analytics 工作區建立的帳戶不同。 您將使用此帳戶作為登陸區域,以暫存 SQL Server 2022 提交的資料。 如需詳細資訊,請參閱建立 Azure Data Lake Storage Gen2 帳戶。
請確定 SQL Server 2022 資料庫已建立主要金鑰。
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<a new password>'
建立目標 Azure Synapse SQL 專用集區
開啟 Synapse Studio。
開啟 [管理] 中樞,前往 [SQL 集區],然後選取 [新增]。
輸入唯一的集區名稱,使用預設設定,並建立專用集區。
從 [資料] 中樞的 [工作區] 下,新的 Azure Synapse SQL 資料庫應會列在 [資料庫] 下。 從新的 Azure Synapse SQL 資料庫,選取 [新增 SQL 指令碼],然後選取 [空白指令碼]。
若要為目標 Azure Synapse SQL 資料庫建立主要金鑰,請貼上下列指令碼,然後選取 [執行]。
CREATE MASTER KEY
為來源 SQL Server 2022 資料庫建立連結服務
選取 [管理] 中樞按鈕,然後選取 [連結服務]。
按 [新增],選取 [SQL Server],然後選取 [繼續]。
在 [名稱] 方塊中,輸入 SQL Server 2022 的連結服務名稱。
注意
僅支援舊版中的連結服務。
在選擇整合執行階段時,選取自我裝載整合執行階段。 如果 Azure Synapse 工作區沒有可用的自我裝載整合執行階段,請加以建立。
(選擇性) 若要建立自我裝載整合執行階段,以連線到來源 SQL Server 2022,請執行下列動作:
a. 選取新增。
b. 選取 [自我裝載],然後選取 [繼續]。
c. 在 [名稱] 方塊中,輸入自我裝載整合執行階段的名稱,然後選取 [建立]。
Azure Synapse 工作區中現已提供自我裝載整合執行階段。
d. 遵循提示來下載、安裝和使用金鑰,在 Windows 電腦上註冊整合執行階段代理程式,該代理程式可直接存取 SQL Server 2022 執行個體。 如需詳細資訊,請參閱建立自我裝載整合執行階段 - Azure Data Factory 和 Azure Synapse。
e. 選取關閉。
f. 移至 [監視] 頁面,確定您的自我裝載整合執行階段正在執行中,方法是選取 [重新整理] 以取得整合執行階段的最新狀態。
繼續輸入連結服務的其餘資訊,包括 SQL Server名稱、資料庫名稱、驗證類型、使用者名稱和密碼,以連線到 SQL Server 2022 執行個體。
注意
建議您在此連線上啟用加密。 若要這樣做,請將值為
true
的Encrypt
屬性新增為其他連線屬性。 根據伺服器設定,同時將Trust Server Certificate
屬性設定為true
或false
。 如需詳細資訊,請參閱啟用資料庫引擎的加密連線。選取 [測試連線],以確保自我裝載整合執行階段可以存取 SQL Server 執行個體。
選取 建立。
新連結服務將會連線到工作區中可用的 SQL Server 2022 執行個體。
注意
您在這裡建立的連結服務不是適用於 SQL 的 Azure Synapse Link 專用的服務。 其可供具有適當權限的任何工作區使用者使用。 請花一點時間了解可存取此連結服務及其認證的使用者範圍。 如需 Azure Synapse 工作區中權限的詳細資訊,請參閱 Azure Synapse 工作區存取控制概觀 - Azure Synapse Analytics。
建立連結服務以連線到您在 Azure Data Lake Storage Gen2 上的登陸區域
移至您新建立的 Azure Data Lake Storage Gen2 帳戶,依序選取 [存取控制 (IAM)]、[新增],然後 [新增角色指派]。
選取所選角色的 [儲存體 Blob 資料參與者],選取 [受控識別],然後在 [成員] 底下選取 Azure Synapse 工作區。 新增此角色指派可能需要幾分鐘的時間。
注意
請確定您已將 Azure Synapse Analytics 工作區受控識別權限授與作為登陸區域的 Azure Data Lake Storage Gen2 儲存體帳戶。 如需詳細資訊,請參閱將權限授予 Azure Synapse 工作區中的受控識別 - Azure Synapse Analytics。
在 Azure Synapse 工作區中開啟 [管理] 中樞,然後移至 [連結服務]。
選取 [新增],然後選取 [Azure Data Lake Storage Gen2]。
執行下列操作:
a. 在 [名稱] 方塊中,輸入登陸區域的連結服務名稱。
b. 在 [驗證方法] 中,輸入 [受控識別]。
c. 選取已建立的儲存體帳戶名稱。
選取 [測試連線],以確保您可以存取 Azure Data Lake Storage Gen2 帳戶。
選取 建立。
新連結服務將會連線到 Azure Data Lake Storage Gen2 帳戶。
注意
您在這裡建立的連結服務不是適用於 SQL 的 Azure Synapse Link 專用的服務。 其可供具有適當權限的任何工作區使用者使用。 請花一點時間了解可存取此連結服務及其認證的使用者範圍。 如需 Azure Synapse 工作區中權限的詳細資訊,請參閱 Azure Synapse 工作區存取控制概觀 - Azure Synapse Analytics。
建立 Azure Synapse Link 連線
從 Synapse Studio,開啟整合中樞。
在 [整合] 窗格上,選取加號 (+),然後選取 [連結連線]。
輸入來源資料庫:
a. 針對 [來源類型],選取 [SQL Server]。
b,針對來源連結服務,選取連線至 SQL Server 2022 執行個體的服務。
c. 針對 [資料表名稱],從 SQL Server 執行個體中選取要複寫至 Azure Synapse SQL 集區的名稱。
d. 選取繼續。
從 Synapse SQL 專用集區中選取目標資料庫名稱。
選取繼續。
輸入連結連線設定:
a. 針對 [連結連線名稱],輸入名稱。
b. 針對連結連線計算的核心計數,輸入核心數目。 這些核心將用於將資料從來源移至目標。 建議您從少量開始,並視需要增加數量。
c. 針對 [連結服務],選取將連線到登陸區域的服務。
d. 輸入 Azure Data Lake Storage Gen2 容器名稱或容器/資料夾名稱,作為暫存資料的登陸區域資料夾路徑。 必須先建立容器。
e. 輸入 Azure Data Lake Storage Gen2 共用存取簽章權杖。 SQL 變更摘需要此權杖,才能存取登陸區域。 如果 Azure Data Lake Storage Gen2 帳戶沒有共用存取簽章權杖,您可以選取 [產生權杖] 來加以建立。
f. 選取 [確定]。
注意
您在這裡選取的核心數目會配置給擷取服務,以處理資料載入和變更。 它們不會影響目標專用SQL集區組態。 如果您因儲存體的限制而無法使用產生的 SAS 權杖連線到登陸區域,您也可以嘗試使用委派 SAS 權杖來連線到登陸區域。
開啟新的 Azure Synapse Link 連線後,您可以立即更新目標資料表名稱、散發類型和結構類型。
注意
- 當資料包含 varchar(max)、nvarchar(max) 和 varbinary(max) 時,請考慮對結構類型使用「堆積資料表」。
- 啟動連結連線之前,請確定 Azure Synapse SQL 專用集區中的結構描述已建立。 適用於 SQL 的 Azure Synapse Link 會在 Azure Synapse SQL 集區中的結構描述下自動建立資料表。
在 [現有目標資料表上的動作] 下拉式清單中,如果目的地中已有資料表,請選擇最適合案例的選項。
- 卸除並重新建立資料表:會卸除並重新建立現有的目標資料表。
- 非空白資料表失敗:如果目標資料表包含資料,指定資料表的連結連線會失敗。
- 與現有資料合併:資料會合併至現有的資料表。
注意
如果要透過選擇 [與現有資料合併] 將多個來源合併至相同的目的地,請確保來源包含不同的資料,以避免衝突和非預期的結果。
指定是否要跨資料表啟用交易一致性。
- 啟用此選項時,來源資料庫上跨越多個資料表的交易跨越一律會複寫至單一交易中的目的地資料庫。 不過,這將會在整體複寫輸送量上建立額外負荷。
- 停用此選項時,每個資料表都會以平行連線方式,將其專屬交易界限中的變更複寫至目的地,進而改善整體複寫輸送量。
注意
當您想要跨資料表啟用交易一致性時,也請確定 Synapse 專用 SQL 集區中的交易隔離等級是 READ COMMITTED SNAPSHOT ISOLATION。
選取 [全部發佈] 以將新連結連線儲存至服務。
啟動 Azure Synapse Link 連線
選取 [開始] 並等候幾分鐘的時間讓資料複寫。
注意
連結連線會從來源資料庫的完整初始載入開始,接著透過 SQL Server 2022 中的變更摘要功能遞增變更摘要。 如需詳細資訊,請參閱適用於 SQL 的 Azure Synapse Link 變更摘要。
監視適用於 SQL Server 2022 的 Azure Synapse Link
您可以監視 Azure Synapse Link 連線的狀態、查看哪些資料表正開始複製 (「快照建立中」),以及查看哪些資料表處於連續複寫模式 (「複寫中」)。
移至 Azure Synapse 工作區的監視中樞,然後選取 [連結連線]。
開啟您啟動的連結連線,並檢視每個資料表的狀態。
在連線的監視檢視上選取 [重新整理],以觀察狀態的任何更新。
查詢複寫的資料
等候幾分鐘,然後檢查目標資料庫是否有預期的資料表和資料。 查看 Azure Synapse SQL 專用集區目的地存放區中可用的資料。 您現在可以探索目標 Azure Synapse SQL 專用集區中的複寫資料表。
在 [資料] 中樞的 [工作區] 下,開啟目標資料庫。
在 [資料表] 下,以滑鼠右鍵按一下其中一個目標資料表。
選取 [新增 SQL 指令碼],然後選取 [前 100 個資料列]。
執行此查詢來檢視目標 Azure Synapse SQL 專用集區中複寫的資料。
您也可以使用 Microsoft SQL Server Management Studio (SSMS) 或其他工具來查詢目標資料庫。 使用工作區的 SQL 專用端點作為伺服器名稱。 此名稱通常是
<workspacename>.sql.azuresynapse.net
。 透過 SSMS 或其他工具連線時,新增Database=databasename@poolname
作為額外的連接字串參數。
新增或移除現有 Azure Synapse Link 連線中的資料表
若要在 Synapse Studio 中新增或移除資料表,請執行下列動作:
在 Azure Synapse 工作區中,開啟整合中樞。
選取您要編輯的 [連結連線] 並加以開啟。
執行下列任一步驟:
- 若要新增資料表,請選取 [新增資料表]。
- 若要移除資料表,請選取該資料表旁的垃圾桶圖示。
注意
您可以在連結連線執行時直接新增或移除資料表。
停止 Azure Synapse Link 連線
若要在 Synapse Studio 中停止 Azure Synapse Link 連線,請執行下列動作:
在 Azure Synapse 工作區中,開啟 [整合] 中樞。
選取您要編輯的連結連線並加以開啟。
選取 [停止] 以停止連結連線,而這將會停止複寫您的資料。
注意
- 如果您在停止連結連線之後重新啟動,將會從來源資料庫的完整初始載入開始,接著遞增變更摘要。
- 如果您選擇 [與現有資料合併] 作為現有目標資料表的動作,當您停止連結連線並重新啟動它時,該期間來源中刪除的記錄不會在目的地中刪除。 在這種情況下,若要確保資料一致性,請考慮使用暫停/繼續而不是停止/啟動,或在重新啟動連結連線之前清除目的地資料表。
輪替登陸區域的共用存取簽章權杖
SQL 變更摘要需要共用存取簽章權杖,才能存取登陸區域,並在該處推送資料。 其具有到期日,因此您必須在到期日之前輪替該權杖。 否則,Azure Synapse Link 便無法將該資料從 SQL Server 執行個體複寫到 Azure Synapse SQL 專用集區。
在 Azure Synapse 工作區中,開啟整合中樞。
選取您要編輯的連結連線並加以開啟。
選取 [輪替權杖]。
若要取得新的共用存取簽章權杖,請選取 [自動產生] 或 [手動輸入],然後選取 [確定]。
注意
如果您因儲存體的限制而無法使用產生的 SAS 權杖連線到登陸區域,您也可以嘗試使用委派 SAS 權杖來連線到登陸區域。
下一步
如果您正在使用 SQL Server 2022 以外的資料庫,請參閱: