銷售: 1-800-867-1380

如何:使用 DAC 封裝將資料庫移轉至 Windows Azure SQL Database

更新日期: 2014年4月

資料層應用程式 (DAC) 支援將資料庫的結構描述、程式碼和組態輕鬆擷取到單一封裝檔案。然後,DAC 封裝可以使用於另一個系統上部署資料庫的新副本,或將資料庫定義匯入至 SQL Server Data Tools (SSDT) 專案,進行進一步的開發。DAC 封裝不包含資料,只包含資料庫物件的定義。

作者:Shaun Tinline-Jones
審稿者:Adam Mahood

開始之前

資料層應用程式 (DAC) 是用來開發、部署及管理資料層物件的自主單位。DAC 可讓資料層開發人員和資料庫管理員將 Microsoft SQL Server 物件 (包括資料庫物件和執行個體物件) 封裝到一個稱為 DAC 封裝 (.dacpac 檔案) 的實體。有兩種方式可產生 DAC 封裝檔案。您可以建立 SSDT 資料庫專案以建立 DAC 封裝,或從現有資料庫擷取 DAC 封裝。DAC 封裝是壓縮檔案,包含資料庫物件定義或資料庫中繼資料的 XML 表示。然後,您可以在 Windows Azure SQL Database 部署封裝,建立資料庫的副本。

建議

DAC 封裝是搭配 SQL Server Data Tools 的理想工具,用來實作資料庫移轉至 Windows Azure SQL Database 所需的任何資料庫變更。匯入 DAC 封裝來建立資料庫專案,進行任何必要的修改,然後建立專案來建立新的 DAC 封裝。

在移轉中使用 DAC 封裝和 SSDT 資料庫專案傳送結構描述,是在完成移轉專案之後還有其他開發工作的理想選項。DAC 封裝是已建立版本的封裝,而且有 DAC 升級程序。您可以使用其中一個 DAC 封裝版本在移轉期間傳送結構描述。如果在移轉之後完成其他開發工作,您可以建立新版本的 DAC 封裝,並使用它來升級生產資料庫。如需有關 DAC 升級的詳細資訊,請參閱<升級資料層應用程式>。

[回到頁首]

限制事項

DAC 封裝不包含任何資料表資料,因此只能用來移轉結構描述定義。您必須使用另一個程序來移轉資料。如需有關資料傳輸程序的詳細資訊,請參閱<選擇工具以將資料庫移轉至 Windows Azure SQL Database>。

如果移轉不需要資料庫變更,您可以選擇擷取 DAC BACPAC 檔案,移轉資料庫定義和資料。BACPAC 檔案包含 JavaScript 物件標記法 (JSON) 編碼的一組資料表資料,以及 DAC 封裝中的相同結構描述定義。如需詳細資訊,請參閱<如何:使用 DAC BACPAC 將資料庫移轉至 Windows Azure SQL Database>。

您可以在 SSDT 資料庫專案中指定部署前和部署後指令碼。這些指令碼是可執行任何動作的 Transact-SQL 指令碼,包括在部署後指令碼中插入資料。但是,不建議使用 DAC 封裝部署指令碼來插入大量資料。

[回到頁首]

必要條件

若要使用 DAC 封裝,您必須安裝用戶端 DAC 軟體,稱為 DAC Framework。DAC Framework 隨附於 SQL Server Data Tools 和 SQL Server 公用程式 (例如 SQL Server Management Studio)。當您使用 SQL Database 時,DAC Framework 的建議版本是隨附於 SQL Server Data Tools 和 SQL Server 2012 的版本。您也可以透過從 SQL Server 2012 Feature Pack 安裝這三個封裝,升級舊版 DAC Framework:

  • Microsoft System CLR Types for Microsoft SQL Server 2012

  • Microsoft SQL Server 2012 Transact-SQL 指令碼 DOM

  • Microsoft SQL Server 2012 資料層應用程式架構

如需有關 DAC Framework 版本與 SQL Server 版本之間的相容性詳細資訊,請參閱<SQL Server 物件與版本的 DAC 支援>。

[回到頁首]

移轉 DAC 封裝

若要將 SQL Server 資料庫結構描述移轉至 Windows Azure SQL Database,請先從現有的資料庫擷取封裝,移除 Windows Azure SQL Database 不支援之物件的任何相依性,然後將 DAC 封裝部署至 Windows Azure SQL Database。

  1. 從 SQL Server 資料庫中擷取 DAC 封裝:

    您可以使用 PowerShell 指令碼或 SQL Server Management Studio 中的 [擷取資料層應用程式精靈],從 SQL Server Database Engine 的現有資料庫中擷取 DAC 封裝。如需有關必要條件以及如何執行擷取的詳細資訊,請參閱<從資料庫中擷取 DAC>。

    擷取包含下列主要步驟:

    1. 設定 DAC 屬性,包括 DAC 應用程式名稱、版本、描述和封裝檔案位置。

    2. 驗證 DAC 是否支援所有資料庫物件。

    3. 建置封裝。

  2. 先驗證 DAC 封裝,然後部署至 Windows Azure SQL Database:

    建議您最好先檢閱 DAC 封裝的內容,然後再將它部署至生產環境,尤其是封裝並非在您的組織中開發的情況。如需詳細資訊,請參閱<驗證 DAC 封裝>。

    DAC 封裝支援某些 Windows Azure SQL Database 不支援的物件類型。您可以使用實驗性 Windows Azure SQL Database Compatibility Assessment 服務,判斷 DAC 封裝是否包含 Windows Azure SQL Database 不支援的物件,然後嘗試將封裝部署到 SQL Database。如需詳細資訊以及使用此服務的教學課程,請參閱<Windows Azure SQL Database Compatibility Assessment 服務>。

    在您將資料庫移轉至 SQL Database 之前,請移除 DAC 擷取程序或 Windows Azure SQL Database Compatibility Assessment 服務當做例外狀況所報告之物件的任何相依性。從資料庫移除這些物件,可能會需要對使用資料庫的應用程式進行變更。

  3. 將 DAC 封裝部署至 SQL Database:

    您可以使用 PowerShell 指令碼或 SQL Server Management Studio 中的 [部署資料層應用程式精靈],將 DAC 封裝部署到 ssSDS。如需有關必要條件以及如何執行部署的詳細資訊,請參閱<部署資料層應用程式>。[部署資料層應用程式精靈] 也可以從 Windows Azure SQL Database 管理入口網站啟動,如需詳細資訊,請參閱<資料庫管理 (Windows Azure SQL Database 管理入口網站)>。

    部署包含下列主要步驟:

    1. 選取 DAC 封裝。

    2. 驗證封裝的內容。

    3. 設定資料庫部署屬性,您可以在其中指定 Windows Azure SQL Database 資料庫。

    4. 部署封裝。

[回到頁首]

資源

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見

社群新增項目

顯示:
© 2014 Microsoft