教學課程:在 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 |