教學課程:在 Azure Data Studio 中將已啟用 TDE 的資料庫 (預覽) 移轉至 Azure SQL
如需保護 SQL Server 資料庫,您可以採取預防措施,例如設計安全系統、加密機密資產,以及建置防火牆。 不過,磁碟機或磁帶等媒體的實體竊取仍會危害資料。
TDE 對此問題提供一種解決方案,其中使用憑證所保護的對稱資料庫加密金鑰 (DEK),即時進行待用資料 (資料和記錄檔) 的 I/O 加密/解密。 如需手動移轉 TDE 憑證的詳細資訊,請參閱將 TDE 保護的資料庫移至另一個 SQL Server。
當您移轉 TDE 保護的資料庫時,用來開啟資料庫加密金鑰 (DEK) 的憑證 (非對稱金鑰) 也必須與來源資料庫一起移動。 因此,您必須在目標 SQL Server 的 master
資料庫中重新建立伺服器憑證,該執行個體才能存取資料庫檔案。
您可以使用適用於 Azure Data Studio 的 Azure SQL 移轉延伸模組,協助您將已啟用 TDE 的資料庫 (預覽) 從 SQL Server 的內部部署執行個體移轉至 Azure SQL。
已啟用 TDE 的資料庫移轉流程會自動執行手動工作,例如備份資料庫憑證金鑰 (DEK),將憑證檔案從內部部署 SQL Server 複製到 Azure SQL 目標,然後再次重新設定目標資料庫的 TDE。
重要
- 目前,僅支援 Azure SQL 受控執行個體目標。
- 不支援加密備份。
在本教學課程中,您會了解如何將範例 AdventureWorksTDE
加密資料庫從 SQL Server 的內部部署執行個體移轉至 Azure SQL 受控執行個體。
- 在 Azure Data Studio 中開啟 [移轉至 Azure SQL] 精靈
- 執行來源 SQL Server 資料庫的評量
- 設定您的 TDE 憑證移轉
- 連線至您的 Azure SQL 目標
- 開始移轉您的 TDE 憑證並監視完成進度
必要條件
開始教學課程之前:
從 Azure Data Studio Marketplace 中安裝 Azure SQL 移轉延伸模組。
以系統管理員身分執行 Azure Data Studio。
擁有指派給下列其中一個內建角色的 Azure 帳戶:
- 目標受控執行個體的參與者 (以及從 SMB 網路共用上傳 TDE 憑證檔案備份的儲存體帳戶)。
- Azure 資源群組的讀者角色,這些資源群組包含目標受控執行個體或 Azure 儲存體帳戶。
- Azure 訂用帳戶的擁有者或參與者角色 (如果建立新的 DMS 服務,則為必要角色)。
- 作為使用上述內建角色的替代方案,您可以指派自訂角色。 如需詳細資訊,請參閱自訂角色:使用 ADS 進行線上 SQL Server 至 SQL 受控執行個體移轉。
建立 Azure SQL 受控執行個體的目標執行個體。
確保您用來連線到 SQL Server 來源的登入是 sysadmin 伺服器角色的成員。
Azure Data Studio 在其中執行已啟用 TDE 的資料庫移轉的電腦應該能夠同時連線到來源和目標 SQL 伺服器。
在 Azure Data Studio 中開啟 [移轉至 Azure SQL] 精靈
若要開啟 [移轉至 Azure SQL] 精靈:
在 Azure Data Studio 中,移至 [連線]。 連線至 SQL Server 的內部部署執行個體。 您也可以連線至 Azure 虛擬機器上的 SQL Server。
以滑鼠右鍵按一下伺服器連線,然後選取 [管理]。
在伺服器功能表中的 [一般] 下,選取 [Azure SQL 移轉]。
在 [Azure SQL 移轉] 儀表板中,選取 [移轉至 Azure SQL] 以開啟移轉精靈。
在精靈的第一個頁面上,啟動新的工作階段或繼續先前儲存的工作階段。
執行資料庫評量
在 [移轉至 Azure SQL] 精靈的 [步驟 1:用於評量的資料庫] 中,選取您要評估的資料庫。 然後選取下一步。
在 [步驟 2: 評量結果] 中,完成下列步驟:
設定 TDE 移轉設定
在 [已選取加密資料庫] 區段中,選取 [將我的憑證和私密金鑰匯出至目標]。
重要
[資訊方塊] 區段描述匯出 DEK 憑證所需的權限。
您必須確定 SQL Server 服務帳戶具有網路共用路徑的寫入存取權,您將用來備份 DEK 憑證。 此外,目前的使用者應該在此網路路徑所在的電腦上具有管理員權限。
輸入網路路徑。
然後核取 [我同意使用我的認證來存取憑證。]透過此動作,您會允許資料庫移轉精靈,將 DEK 憑證備份至網路共用。
如果您不需要移轉精靈,請協助您移轉已啟用 TDE 的資料庫。 選取 [我不想要 Azure Data Studio 匯出憑證。] 以略過此步驟。
重要
您必須先移轉憑證,才能繼續進行移轉,否則移轉將會失敗。 如需手動移轉 TDE 憑證的詳細資訊,請參閱將 TDE 保護的資料庫移至另一個 SQL Server。
如果您想要繼續進行 TDE 認證移轉,請選取 [套用]。
TDE 移轉設定面板將會關閉,但您可以隨時選取 [編輯] 來修改您的網路共用設定。 選取 [下一步] 以繼續移轉流程。
進行移轉設定
在 [移轉至 Azure SQL] 精靈的 [步驟 3:Azure SQL 目標] 中,為您的目標受控執行個體完成下列步驟:
啟動並監視 TDE 憑證移轉
在 [步驟 3:移轉狀態]中,[憑證移轉] 面板將開啟。 TDE 憑證移轉進度詳細資料會顯示在畫面上。
一旦 TDE 移轉完成 (或如果失敗),頁面就會顯示相關的更新。
如果您需要重試移轉,請選擇 [重試移轉]。
當您準備好時,請選取 [完成] 以繼續移轉精靈。
您可以選取 [移轉憑證] 來監視每個 TDE 憑證的流程。
選取 [下一步] 繼續移轉精靈,直到您完成資料庫移轉為止。
如需將資料庫線上或離線移轉至 Azure SQL 受控執行個體目標的詳細資訊,請參閱下列逐步教學課程:
移轉後步驟
您的目標受控執行個體現在應該已移轉資料庫及其各自的憑證。 若要驗證最近移轉的資料庫目前狀態,請在連線到受控執行個體目標時,將下列範例複製並貼入 Azure Data Studio 上的新查詢視窗中。 然後,選取 [執行]。
USE master;
GO
SELECT db_name(database_id),
key_algorithm,
encryption_state_desc,
encryption_scan_state_desc,
percent_complete
FROM sys.dm_database_encryption_keys
WHERE database_id = DB_ID('Your database name');
GO
此查詢會傳回資料庫、加密狀態和待完成百分比的相關資訊。 在此情況下,因為 TDE 憑證已完成,所以其為零。
如需使用 SQL Server 進行加密的詳細資訊,請參閱透明資料加密 (TDE)。
限制
下表依 Azure SQL 目標描述已啟用 TDE 的資料庫移轉支援的目前狀態:
Target | 支援 | 狀態 |
---|---|---|
Azure SQL Database | No | |
Azure SQL 受控執行個體 | Yes | 預覽 |
Azure VM 上的 SQL Server | No |
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應