銷售: 1-800-867-1380

作法:使用 DAC BACPAC 將資料庫移轉至 Azure SQL Database

更新日期: 2014年4月

您可以透過從現有資料庫匯出 BACPAC,將 BACPAC 檔案放入 SQL Server Blob 服務帳戶,然後將 BACPAC 匯入至 ,從 Microsoft Azure SQL Database 資料庫移轉結構描述和資料。

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

資料層應用程式 (DAC) 是用來開發、部署及管理資料層物件的自主單位。DAC 可讓資料層開發人員和資料庫管理員將 Microsoft SQL Server 物件 (包括資料庫物件和執行個體物件) 封裝到一個稱為 DAC 封裝 (.dacpac 檔案) 的實體。BACPAC 格式擴充 DAC 封裝格式,除了標準的 DAC 封裝內容之外,還包含 BACPAC 特定的中繼資料和 JavaScript 物件標記法 (JSON) 編碼的資料表資料。您可以將 SQL Server 資料庫封裝到 BACPAC 檔案,並使用它來將結構描述和資料表資料移轉至 Microsoft Azure SQL Database。

DAC 封裝和 BACPAC 是針對不同的案例。

  1. BACPAC 包含結構描述和資料,但不支援匯入至資料庫專案以修改結構描述。BACPAC 的主要用途是將資料庫從一個資料庫服務移動到另一個資料庫服務 (Database Engine 的執行個體或 Microsoft Azure SQL Database)。BACPAC 也可以用於透過開放格式封存現有的資料庫。由於這些用途,在資料庫不需要結構描述變更的情況下,它是移轉的理想工具。

  2. DAC 封裝只包含結構描述資訊,但是您可以將此封裝匯入至 SSDT 資料庫專案,進行進一步的開發工作。DAC 封裝的主要用途在於將資料庫結構描述部署至開發、測試和生產環境。

「匯入和匯出 Azure SQL Database 的服務」可以在 Microsoft Azure SQL Database 資料庫和 Azure Blob 服務之間直接匯入或匯出 BACPAC 檔案。「匯入和匯出 Azure SQL 資料庫 的服務」提供用來提交要求的公用 REST 端點。Azure 平台入口網站 有呼叫「匯入和匯出 SQL Database 的服務」的介面。

[Top]

只有在不需要資料庫變更來處理 Microsoft Azure SQL Database 不支援的物件時,才能使用 DAC BACPAC 進行移轉。如果需要這類變更,請考慮下列一項:

  1. 使用 DAC 封裝與 SQL Server Data Tools (SSDT) 修改資料庫結構描述並進行必要的變更,然後部署至 Microsoft Azure SQL Database。如需詳細資訊,請參閱<如何:使用 DAC 封裝將資料庫移轉至 Windows Azure SQL Database>。

  2. 匯出 DAC BACPAC 之前,在來源資料庫中進行所有結構描述變更。

「SQL DAC 範例」專案會建立一個不支援的命令提示字元公用程式,可用來匯出和匯入 BACPAC。您可以從 CodePlex 下載「SQL DAC 範例」專案。此專案需要 DAC Framework。如需有關使用此專案所建立之公用程式的詳細資訊,請參閱<DAC Framework 用戶端工具參考>。

[Top]

若要使用 DAC BACPAC,您必須安裝用戶端 DAC 軟體,稱為 DAC Framework。DAC Framework 隨附於 SQL Server Data Tools 和 SQL Server 公用程式 (例如 SQL Server Management Studio)。當您使用 Azure SQL 資料庫 時,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 支援>。

[Top]

將資料庫從 SQL Server 移轉至 Azure SQL 資料庫 的步驟為:

  1. 從現有的 SQL Server 資料庫匯出 BACPAC 檔案

    您可以使用 SQL Server 2012 版本的 SQL Server Management Studio 中的 [匯出資料層應用程式] 精靈,將 BACPAC 檔案直接匯出至 Blob 服務帳戶。若要啟動此精靈,在 [物件總管] 中,以滑鼠右鍵按一下資料庫,選取 [工作],然後選取 [匯出資料層應用程式]。在 [匯出設定] 頁面上,使用 [儲存至 Azure] 控制項指定 Blob 服務位置。或者,您也可以使用 SQL DAC 範例公用程式。如需有關從 SQL Server 匯出 BACPAC 的詳細資訊,請參閱<匯出資料層應用程式>。

    您必須擁有 儲存體帳戶,才能將 BACPAC 匯出至 儲存體。

  2. 移動 BACPAC 檔案到 Azure Blob 服務

    如果您使用「SQL DAC 範例」將 BACPAC 匯出到電腦上的本機檔案,而且想要使用 將 BACPAC 匯入到 ssSDS,請將 BACPAC 檔案移至 Blob 帳戶。您可以透過使用 Azure 管理平台工具Microsoft Codename “Data Transfer”,複製此檔案。

    如果您打算使用「SQL DAC 範例」執行匯入到 Microsoft Azure SQL Database,則不需要將 BACPAC 檔案複製到 Blob 服務。

  3. 將 BACPAC 匯入至Microsoft Azure SQL Database

    一旦匯出後,可以匯入 BACPAC,在 Microsoft Azure SQL Database 上建立資料庫。您可以使用 匯入儲存在 Blob 服務的 BACPAC。在功能區中,選取 [匯入],啟動 [從 Windows 儲存體匯入資料庫] 視窗。或者,您可以使用「SQL DAC 範例」匯入儲存在您電腦上的本機 BACPAC 檔案。

[Top]

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