共用方式為


從資料庫擷取 DACPAC

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控實例Microsoft Fabric 中的 SQL Database

擷取程式會建立 DAC 封裝檔案 (.dacpac),其中包含資料庫物件及其相關實例層級元素的定義。 例如,.dacpac 檔案包含資料庫數據表、預存程式、檢視和使用者,以及對應至資料庫使用者的登入。 .dacpac 檔案可用來將資料庫部署到 SQL Server 或 Azure SQL Database 的另一個實例,或將資料庫註冊為目前實例中的數據層應用程式(DAC)。

擷取 .dacpac 的選項包括:

  1. SQL Server Management Studio 中 擷取數據層應用程式 精靈 (SSMS)
  2. SQL Server Data Tools
  3. SqlPackage 命令行公用程式

權限

擷取 .dacpac 至少需要 ALTER ANY LOGIN 和資料庫範圍 VIEW DEFINITION 權限,以及在 sys.sql_expression_dependenciesSELECT 權限。 securityadmin 固定伺服器角色的成員,其也是database_owner固定資料庫角色的成員,都有資格擷取 .dacpac系統管理員 固定伺服器角色或名為 sa 的內建 SQL Server 系統管理員帳戶成員也可以擷取 .dacpac

使用擷取數據層應用程式精靈

使用精靈提取 DAC

  1. [物件總管]中,展開包含要從中擷取 .dacpac 的資料庫的實例節點。
  2. 展開 資料庫 節點。
  3. 以滑鼠右鍵按一下要從中擷取 .dacpac 之資料庫的節點,選擇 工作,然後選取 擷取數據層應用程式...
  4. 完成嚮導對話框:
    1. 簡介頁面
    2. 選擇數據頁
    3. 設定屬性頁面
    4. 驗證和摘要頁面
    5. 組建套件頁面

精靈簡介頁面

此頁面描述擷取資料層應用程式的步驟。

不要再顯示此頁面。 - 選取複選框,以阻止頁面在未來顯示。

下一個 > - 前往選擇方法頁面

取消 - 終止精靈,並且不從資料庫提取資料階層應用程式。

選取數據頁面

選取您想要包含在資料層應用程式 (DAC) 封裝檔案中的參考資料。 在 DAC 套件中包含資料是選擇性的。 .dacpac 包含與資料庫相關的所有支援資料庫對象和實例對象的架構。

您可以在 DAC 封裝檔案中包含最多 10 MB 的參考數據。 不過,若要將資料表包含在 DAC 中,它們可能不會包含二進位大型物件 (BLOB) 資料類型,例如 imagevarchar(max)。 若要擷取大量數據以傳輸至另一個資料庫,請使用 SQL Server Integration Services、大量複製公用程式,或許多其他數據遷移技術之一。

資料庫數據表 - 選取資料庫數據表旁的複選框,其中包含您要包含在 DAC 封裝中的數據。 您最多可以選取 10 個具有 10,000 行或以下的資料表。

設定屬性頁面

使用精靈的此頁面來描述數據層應用程式 (DAC)。 這些屬性可用來識別 DAC,並協助區分它與其他屬性。

名稱 - 此名稱可識別 DAC。 它可以與 DAC 封裝檔案的名稱不同,而且應該描述您的應用程式。 例如,如果資料庫用於財務應用程式,您可能想要將 DAC Finance 命名為 。

版本 (使用 xx.xx.xx.xx,其中 x 是數位) - 識別 DAC 版本的數值。 在 Visual Studio 中使用 DAC 版本來識別開發人員正在處理的 DAC 版本。 部署 .dacpac 時,版本會儲存在 msdb 資料庫中,稍後可以在 SQL Server Management Studio 的 資料層應用程式 節點下檢視。

描述: - 選擇性。 描述數位類比轉換器(DAC)。 部署 .dacpac 時,描述會儲存在 msdb 資料庫中,稍後可以在 Management Studio 的 資料層應用程式 節點下檢視。

儲存至 DAC 封裝檔案(包括名稱帶有 .dacpac 副檔名): - 將 DAC 儲存至 DAC 封裝檔案,副檔名為 .dacpac。 選取 [流覽] 按鈕,以指定檔案的名稱和位置。

覆寫現有的檔案 - 勾選此核取方塊,以取代已存在且名稱相同的 DAC 封裝檔案。

驗證和摘要頁面

在此頁面上,精靈會驗證數據層應用程式 (DAC) 中是否支援所有資料庫物件。 它也會檢查資料庫對象之間的相依性,以判斷可以成功包含在 DAC 中的物件集合。 之後,它會顯示驗證報告,並摘要說明您在此精靈中選取的選項。 若要變更選項,請選取 上一。 若要開始擷取 DAC,請選取 [下一步]

注意

如果一或多個物件不受 DAC 支援,則 [下一步] 按鈕將會被停用,而擷取過程 可能無法繼續。 在這種情況下,建議您移除不支援的物件,然後再次執行此精靈。

摘要 - 您所選的選項摘要列在 DAC 屬性下。 驗證的結果會列在 DAC 物件 底下,。 驗證結果有三種類型:

  • DAC 中包含的物件已成功:支援這些物件及其相依性,而且可以成功包含在 DAC 中。

  • 包含在 DAC 中有警告的物件:這些物件是受支援的,但相依於 DAC 中不支援的其他物件。

  • DAC中未包含的物件:不支援這些物件,而且必須先從資料庫移除,才能成功擷取 DAC。

驗證程式會檢查多個層級的相依性。 例如,如果預存程式相依於使用不支援 CLR 資料類型的數據表,預存程式將會列在 DAC 中含有警告的 物件底下,

如果一個或多個物件不受 DAC 支援,則會停用 下一個按鈕,且擷取程序不會繼續。 在這種情況下,建議您移除不支援的物件,然後再次執行此精靈。

[儲存報表] - 可讓您儲存 HTML 型檔案,以列出摘要中 DAC 物件 節點下的所有物件。 當 DAC 中不支援某些資料庫物件時,此報表會很有用。 在嘗試再次擷取 DAC 之前,請先使用報表來變更或移除不支持的物件。

組建套件頁面

使用此頁面來監控精靈擷取數據層級應用程式 (DAC) 的進度。

動作 - 建立和儲存 DAC 封裝檔案 動作期間,精靈會從 SQL Server 資料庫擷取 DAC。 然後,會在記憶體中建立 DAC 封裝,並儲存至您指定的位置。 選取 [Result] 資料行中的連結,以查看對應步驟的結果。

[儲存報表] - 選取即可將精靈進度的結果儲存至檔案。

完成 - 選擇以在處理完成後關閉精靈,或當發生錯誤時。