使用 SSMS 或 Windows 上的 SqlPackage,在 Linux 上匯出和匯入資料庫

適用於:SQL Server - Linux

本文說明如何使用 SQL Server Management Studio (SSMS)SqlPackage 在 Linux 上的 SQL Server 上匯出和匯入資料庫。 SSMS 和 SqlPackage 是 Windows 應用程式,因此當您的 Windows 電腦可以連線至 Linux 遠端 SQL Server 執行個體時,請使用這項技術。

您應一律安裝並使用最新版本的 SQL Server Management Studio (SSMS),如在 Windows 上使用 SSMS 連線至 Linux 上的 SQL Server 中所述。

注意

如果您要將資料庫從某個 SQL Server 執行個體移轉至另一個執行個體,請使用備份和還原

使用 SSMS 匯出資料庫

  1. 在 Windows 搜尋方塊中輸入 Microsoft SQL Server Management Studio 來啟動 SSMS,然後選取桌面應用程式。

    Screenshot of SQL Server Management Studio.

  2. 在 [物件總管] 中連線至您的來源資料庫。 來源資料庫可以位於在內部部署或雲端中、於 Linux、Windows 或 Docker 上執行的 Microsoft SQL Server,以及 Azure SQL Database 或 Azure Synapse Analytics 中。

  3. 以滑鼠右鍵按一下 [物件總管] 中的來源資料庫,指向 [工作],然後選擇 [匯出資料層應用程式...]

  4. 在 [匯出精靈] 中,選取 [下一步],然後在 [設定] 索引標籤上,將匯出設定為將 BACPAC 檔案儲存至本機磁碟位置或 Azure Blob。

  5. 根據預設,會匯出資料庫中的所有物件。 選取 [進階] 索引標籤,然後選擇您想要匯出的資料庫物件。

  6. 選取 [下一步],然後選取 [完成]。

.bacpac 檔案已在您選擇的位置成功建立,且您已準備好將其匯入目標資料庫。

使用 SSMS 匯入資料庫

  1. 在 Windows 搜尋方塊中輸入 Microsoft SQL Server Management Studio 來啟動 SSMS,然後選取桌面應用程式。

    Screenshot of SQL Server Management Studio again.

  2. 連線至您在 [物件總管] 中的目標伺服器。 目標伺服器可以是在內部部署或雲端中、於 Linux、Windows 或 Docker 上執行的 Microsoft SQL Server,以及 Azure SQL Database 或 Azure Synapse Analytics。

  3. 以滑鼠右鍵按一下 [物件總管] 中的 [資料庫] 資料夾,然後選擇 [匯入資料層應用程式...]

  4. 若要在目標伺服器中建立資料庫,請從您的本機磁碟指定 BACPAC 檔案,或選取您上傳 BACPAC 檔案的 Azure 儲存體帳戶和容器。

  5. 為資料庫提供新資料庫名稱。 如果您要在 Azure SQL Database 上匯入資料庫,請設定 Microsoft Azure SQL Database 的版本 (服務層級)、資料庫大小上限以及服務目標 (效能等級)。

  6. 選取 [下一步],然後選取 [完成],以將 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>