適用於:Linux 上的 SQL Server
本文說明如何使用 SQL Server Management Studio(SSMS) 和 SqlPackage 來匯出和匯入資料庫 Linux 上的 SQL Server。 SSMS 和 SqlPackage.exe 是Windows應用,所以如果你有一台能連到 Linux 遠端 SQL Server 實例的 Windows 機器,建議用這個方法。
您應一律安裝並使用最新版本的 SSMS,如使用 Windows 上的 SQL Server Management Studio 來管理 Linux 上的 SQL Server 中所述。
關於如何將資料庫從一個 SQL Server 實例遷移到另一個實例,請參見使用備份和還原將 SQL Server 資料庫從 Windows 遷移到 Linux。
使用 SSMS 匯出資料庫
啟動 SSMS 時,請在Windows搜尋框輸入 Microsoft SQL Server Management Studio,然後選擇桌面應用程式。
在 物件總管 中連接到你的來源資料庫。 來源資料庫可以位於在內部部署或雲端中、於 Linux、Windows 或 Docker 上執行的 Microsoft SQL Server,以及 Azure SQL Database 或 Azure Synapse Analytics 中。
在物件總管中右鍵點擊來源資料庫,指向
Tasks ,選擇 Export Data-Tier Application... 在匯出精靈中,選擇
Next ,然後在Settings 分頁中設定匯出,將 BACPAC 檔案儲存到本地磁碟位置或 Azure blob。 根據預設,會匯出資料庫中的所有物件。 選取 [進階] 索引標籤,然後選擇您想要匯出的資料庫物件。
選取 [下一步],然後選取 [完成]。
.bacpac 檔案已在您選擇的位置成功建立,且您已準備好將其匯入目標資料庫。
使用 SSMS 匯入資料庫
啟動 SSMS 時,請在Windows搜尋框輸入 Microsoft SQL Server Management Studio,然後選擇桌面應用程式。
在 物件總管 中連接到你的目標伺服器。 目標伺服器可以是在內部部署或雲端中、於 Linux、Windows 或 Docker 上執行的 Microsoft SQL Server,以及 Azure SQL Database 或 Azure Synapse Analytics。
在物件總管中右鍵點擊 Databases 資料夾,選擇 Import Data-tier Application...
若要在目標伺服器中建立資料庫,請從您的本機磁碟指定 BACPAC 檔案,或選取您上傳 BACPAC 檔案的 Azure 儲存體帳戶和容器。
為資料庫提供新資料庫名稱。 如果您要在 Azure SQL Database 上匯入資料庫,請設定 Microsoft Azure SQL Database 的版本 (服務層級)、資料庫大小上限以及服務目標 (效能等級)。
選取 [下一步],然後選取 [完成],以將 BACPAC 檔案匯入至目標伺服器中的新資料庫。
.bacpac 檔案隨即匯入,以在您指定的目標伺服器中建立新資料庫。
SqlPackage 命令列選項
您也可以使用 SQL Server Data Tools (SSDT) 命令列工具 (SqlPackage) 來匯出和匯入 BACPAC 檔案。
下列範例命令會匯出 BACPAC 檔案:
SqlPackage.exe /a:Export /ssn:tcp:<your_server> /sdn:<your_database> /su:<username> /sp:<password> /tf:<path_to_bacpac>
使用下列命令,從 .bacpac 檔案匯入資料庫結構描述和使用者資料:
SqlPackage.exe /a:Import /tsn:tcp:<your_server> /tdn:<your_database> /tu:<username> /tp:<password> /sf:<path_to_bacpac>