適用於:SQL Server
Azure SQL Database
Azure SQL 受控實例
Microsoft Fabric 中的 SQL Database
擷取程式會建立 DAC 封裝檔案 (.dacpac
),其中包含資料庫物件及其相關實例層級元素的定義。 例如,.dacpac
檔案包含資料庫數據表、預存程式、檢視和使用者,以及對應至資料庫使用者的登入。
.dacpac
檔案可用來將資料庫部署到 SQL Server 或 Azure SQL Database 的另一個實例,或將資料庫註冊為目前實例中的數據層應用程式(DAC)。
擷取 .dacpac
的選項包括:
- SQL Server Management Studio 中 擷取數據層應用程式 精靈 (SSMS)
- SQL Server Data Tools
- SqlPackage 命令行公用程式
權限
擷取 .dacpac
至少需要 ALTER ANY LOGIN
和資料庫範圍 VIEW DEFINITION
權限,以及在 sys.sql_expression_dependencies
上 SELECT
權限。
securityadmin 固定伺服器角色的成員,其也是database_owner固定資料庫角色的成員,都有資格擷取 .dacpac
。
系統管理員 固定伺服器角色或名為 sa
的內建 SQL Server 系統管理員帳戶成員也可以擷取 .dacpac
。
使用擷取數據層應用程式精靈
使用精靈提取 DAC
- 在 [物件總管]中,展開包含要從中擷取
.dacpac
的資料庫的實例節點。 - 展開 資料庫 節點。
- 以滑鼠右鍵按一下要從中擷取
.dacpac
之資料庫的節點,選擇 工作,然後選取 擷取數據層應用程式... - 完成嚮導對話框:
精靈簡介頁面
此頁面描述擷取資料層應用程式的步驟。
不要再顯示此頁面。 - 選取複選框,以阻止頁面在未來顯示。
下一個 > - 前往選擇方法頁面 。
取消 - 終止精靈,並且不從資料庫提取資料階層應用程式。
選取數據頁面
選取您想要包含在資料層應用程式 (DAC) 封裝檔案中的參考資料。 在 DAC 套件中包含資料是選擇性的。
.dacpac
包含與資料庫相關的所有支援資料庫對象和實例對象的架構。
您可以在 DAC 封裝檔案中包含最多 10 MB 的參考數據。 不過,若要將資料表包含在 DAC 中,它們可能不會包含二進位大型物件 (BLOB) 資料類型,例如 image 或 varchar(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] 資料行中的連結,以查看對應步驟的結果。
[儲存報表] - 選取即可將精靈進度的結果儲存至檔案。
完成 - 選擇以在處理完成後關閉精靈,或當發生錯誤時。