匯出 BACPAC 檔案
適用於:SQL Server
Azure SQL Database
Azure SQL 受控實例
Microsoft Fabric 中的 SQL Database
匯出資料庫會建立匯出檔案,其中包含資料庫中對象的定義,以及數據表中的所有數據。 然後,導出檔案(.bacpac
)可以匯入至資料庫引擎的另一個實例,或匯入至 Azure SQL Database。 匯出匯入作業可以結合,以便在實例之間移轉 .bacpac
、建立封存或建立 SQL Database 中部署的資料庫的內部部署複本。
數據層應用程式 (DAC) 匯出程式與 DAC 擷取程式相關。 匯出和擷取都包含所產生檔案中的資料庫架構,但導出程式僅限於 Azure SQL Database 介面區中可用的功能。 從 SqlPackage 可移植性檔深入瞭解。
先決條件
匯出程式會在兩個階段中建置 .bacpac
匯出檔案。
匯出會在導出檔案 -
.bacpac
檔案中建置可攜式定義,就像 DAC 擷取在 DAC 封裝檔案中建置 DAC 定義一樣。 匯出的 DAC 定義包含目前資料庫中的所有物件。 假設匯出程式是針對一開始從 DAC 部署的資料庫執行,並在部署后直接對資料庫進行變更。 在此情況下,導出的定義會比對資料庫中的物件集,而不是原始 DAC 中定義的物件。匯出會從資料庫中的所有數據表複製數據,並將數據併入匯出檔案中。
匯出程式會將 DAC 版本設定為 1.0.0.0,並將匯出檔案中的 DAC 描述設定為空字串。 如果資料庫是從 DAC 部署的,匯出檔案中的 DAC 定義會包含提供給原始 DAC 的名稱。 否則,DAC 名稱會設定為資料庫名稱。
權限
若要匯出 DAC,您必須至少擁有 ALTER ANY 登入和資料庫層級 VIEW DEFINITION
許可權,以及 sys.sql_expression_dependencies
上的 SELECT
許可權。 此任務對於在 securityadmin 固定伺服器角色以及 DAC 源資料庫中的 database_owner 固定資料庫角色中擁有成員資格的個人來說是可達成的。 此外,導出 DAC 對於屬於 系統管理員 固定伺服器角色或具有名為 sa
之內建 SQL Server 系統管理員帳戶存取權的人員而言,是可行的。
在 Azure SQL Database 上,您必須授與每個資料庫 VIEW DEFINITION
和 SELECT
所有數據表或特定數據表的許可權。
使用匯出數據層應用程式精靈
使用精靈 匯出 DAC
請連線到 SQL Server 的實例,無論是在內部部署環境還是 Azure SQL 資料庫中。
在 [物件總管]中,展開您要匯出 DAC 的實例節點。
以滑鼠右鍵按兩下資料庫名稱。
選取 [工作],然後選取 [匯出資料層應用程式...
完成精靈對話盒:
簡介頁面
此頁面描述匯出數據層應用程式精靈的步驟。
選項
不要再顯示此頁面。 - 選取複選框,以停止未來顯示的 [簡介] 頁面。
下一個 - 繼續到 選擇 DAC 套裝 頁面。
取消 - 取消作業並關閉精靈。
匯出設定頁面
使用此頁面指定您想要建立 .bacpac
檔案的位置。
[儲存到本機磁碟] - 在本機計算機上的目錄中建立
.bacpac
檔案。 選取 [瀏覽...] 前往本機電腦,或在提供的空間中指定路徑。 路徑名稱必須包含檔名和.bacpac
擴展名。儲存至 Azure - 在 Azure 容器中建立
.bacpac
檔案。 您必須連線到 Azure 容器,才能驗證此選項。 此選項還需要您指定暫存檔案的本機目錄。 暫存盤將會建立在指定的位置,並在作業之後保留在該處。
若要指定要匯出的數據表子集,請使用 [進階] 選項。
摘要頁面
使用此頁面來檢閱作業的指定來源和目標設定。 若要使用指定的設定完成匯出作業,請選擇 [完成]。 若要取消匯出作業並結束精靈,請選取 取消。
進度頁面
此頁面會顯示進度列,指出作業的狀態。 若要檢視詳細狀態,請選取 檢視詳細 選項。
結果頁面
此頁面會報告匯出作業的成功或失敗,其中顯示每個動作的結果。 發生錯誤的任何動作在 [結果] 欄都有連結。 選取連結以檢視該動作的錯誤報告。
選取「完成」 以關閉精靈。
局限性
DAC 或資料庫只能從 SQL Database 中的資料庫匯出,或 SQL Server 2005 (9.x) Service Pack 4 (SP4) 或更新版本。
您無法匯出具有 DAC 中不支援或包含使用者之物件的資料庫。 如需 DAC 中支援之物件類型的詳細資訊,請參閱 SQL Server 物件的 DAC 支援和版本。
如果您收到 因磁碟空間不足 訊息而失敗,建議您將系統的 %TEMP%
資料夾設定為位於不同的數據磁碟上。 如此一來,您就可以確保匯出程式有足夠的空間順暢執行,避免潛在的磁碟空間複雜問題。
若要設定系統的 %TEMP% 資料夾:
在 Windows 中,開啟 [系統屬性]>[屬性],然後選取標示為 [進階系統設定] 的連結,。
在隨後的 [系統屬性] 視窗中,流覽至底部,然後選取 [環境變數] 。
在 [系統變數] 區段底下,找到
TEMP
和TMP
變數,然後選取與每個變數相關聯的 [編輯]。修改這兩個變數的值,以指向您已建立之個別數據磁碟上的路徑。 例如,如果您的資料磁碟指定為
D:
,請將值設定為D:\Temp
。選取 [確定] 並關閉所有開啟的視窗,以確認變更。