本頁面將探討下列方法:
理想的遷移方法取決於特定資料庫可接受的停機時間和大小。最常用的技術是備份與還原方法。
費用
在本文件中,您會使用 Google Cloud的下列計費元件:
如要根據預測用量估算費用,請使用 Pricing Calculator。
完成本文所述工作後,您可以刪除已建立的資源,避免繼續計費。詳情請參閱清除所用資源一節。
事前準備
請確認您已備妥以下項目:
- Google Cloud 專案和虛擬私有雲 (VPC),可連線至 Active Directory 網域控制站。
- 用於 Windows Server 容錯移轉叢集 (WSFC) 虛擬機器 (VM) 執行個體的子網路。
如要完成本指南,您也需要 Google Cloud 專案:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
完成本教學課程後,您可以刪除建立的資源以避免繼續計費。詳情請參閱「清除所用資源」一節。
以下各節將說明如何將 SQL Server 資料庫從 Windows 伺服器遷移至 Linux 伺服器。
將 SQL 資料庫匯入 Linux
本節說明如何使用 SQL Server Management Studio (SSMS),從 Windows 型 SQL Server 匯出 SQL 資料庫,並匯入 Linux 型 SQL Server。
必要條件
如要將 SQL 資料庫匯入 Linux,您需要下列項目:
Windows 電腦,且符合下列條件:
- 已安裝 SQL Server。
- 已安裝 SSMS。
- 您要遷移的 SQL 資料庫位於這部電腦上。本教學課程使用 AdventureWorks2022 資料庫範例。
已安裝 SQL Server 的 Linux 電腦。
從 Windows 型 SQL Server 匯出 SQL 資料庫
如要從 Windows 型 SQL Server 匯出 SQL 資料庫,請按照下列步驟操作:
- 在 Windows 電腦上,於 C: 磁碟機建立新資料夾,並命名為
export
(c:\export
)。 - 開啟 SSMS。
- 在「連線」視窗中輸入 localhost,然後按一下「連線」。
- 在物件總管中,展開「資料庫」。
以滑鼠右鍵按一下目標資料庫,選取「工作」,然後按一下「匯出資料層應用程式...」。系統會開啟「匯出資料」精靈。
在「匯出資料」精靈中,選取「下一步」。
在「設定」分頁中,設定「匯出資料」精靈,將備份套件 (BACPAC) 檔案 (.bacpac) 儲存至本機磁碟。
指定資料夾和檔案名稱,如下所示:
c:\export\MigrationFile.bacpac
點選「下一步」。
檢查指定設定,然後按一下「完成」,開始匯出程序。 .bacpac 檔案已成功建立在您選擇的位置。 現在可以將其匯入目標 SQL Server。
將資料庫匯入 Linux
如要將 SQL 資料庫匯入以 Linux 為基礎的 SQL Server,請按照下列步驟操作:
- 開啟 SSMS。
- 在「連線」視窗中,輸入目標伺服器的 IP 位址,然後按一下「連線」。
- 在物件總管中,以滑鼠右鍵按一下「資料庫」資料夾,然後選取「匯入資料層應用程式...」。
指定在匯出程序中建立的 .bacpac 檔案。
c:\export\MigrationFile.bacpac
點選「下一步」。
指定 AdventureWorks2022。
AdventureWorks2022
確認資料和記錄路徑顯示 Linux 執行個體的預設設定。
點選「下一步」。
檢查匯入設定,然後按一下「完成」,開始匯入。
按一下「關閉」關閉匯入精靈。資料庫已可連線。
使用 SQL 備份與還原功能進行遷移
您可以使用備份和還原功能,將 Windows 上的 SQL Server 資料庫遷移至 Linux 上的 SQL Server。本節提供逐步指南,協助您使用這個方法將資料庫轉移至 Linux 環境。
必要條件
如要使用備份和還原方法遷移資料庫,您需要下列項目:
Windows 電腦,且符合下列條件:
- 已安裝 SQL Server。
- 已安裝 SQL Server Management Studio (SSMS)。
- 要遷移的資料庫。本文使用 AdventureWorks2022 資料庫。
已安裝 SQL Server 的 Linux 電腦。
在 Windows 電腦上備份資料庫
您可以使用 SSMS 將資料庫備份到 Windows 檔案,步驟如下:
- 在 Windows 電腦上開啟 SSMS。
- 在「連線」視窗中輸入 localhost。
- 在物件總管中,展開「資料庫」。
以滑鼠右鍵按一下目標資料庫,選取「工作」,然後點選「備份...」。
在「備份資料庫」視窗中,確認「備份類型」設為「完整」,「備份至」設為「磁碟」。請記下備份檔案的名稱和位置,舉例來說,SQL Server 2022 的資料庫備份預設位置為 C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup。
按一下「確定」即可開始備份。
將備份檔案複製到 Linux 電腦
您可以使用安全複製通訊協定 (SCP) 用戶端,將備份檔案上傳至 Linux 電腦。下列程序會使用 SCP 指令列用戶端。不過,您也可以使用 WinSCP 或 Git Bash Shell 上傳檔案。
在 Windows 電腦上開啟新的命令提示字元,然後前往包含備份檔案的目錄。這個備份檔案是在「在 Windows 電腦上備份資料庫」一節中建立。例如:
cd 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup\'
使用
scp
指令將檔案複製到目標 Linux 電腦。 下列範例使用先前建立的MigrationBackup.bak
檔案。scp MigrationBackup.bak sysadmin@
LINUX_INTERNAL_IP
:./將 LINUX_INTERNAL_IP 替換為 Linux 電腦的 IP。
移動備份檔案
如要在 Linux 電腦上將資料庫還原至 SQL Server,請務必確認備份檔案位於 mssql
使用者擁有的預設位置,也就是 /var/opt/mssql
。
如要將備份檔案移至 mssql
目錄,請按照下列步驟操作:
從 Windows 機器使用 SSH 連線至目標 Linux 機器。
ssh sysadmin@
LINUX_INTERNAL_IP
將 LINUX_INTERNAL_IP 替換為 Linux 電腦的 IP。
建立新的備份目錄。
sudo mkdir -p /var/opt/mssql/backup
將備份檔案移到新建立的目錄。
sudo mv ~/MigrationBackup.bak /var/opt/mssql/backup
還原資料庫
您可以使用 SSMS,在 Linux 電腦上還原資料庫,步驟如下:
- 在 Windows 電腦上開啟 SSMS。
- 在「連線」視窗中,輸入 Linux 電腦的 IP 位址或主機名稱。
- 指定「登入」資訊和「密碼」。
按一下「連線」。
在物件總管中,以滑鼠右鍵按一下「資料庫」資料夾,然後選取「還原資料庫...」
在「還原資料庫」視窗中,將「來源」設為「裝置」,然後按一下「...」開啟備份選取對話方塊。
在「選取備用裝置」對話方塊中,按一下「新增」。
在檔案瀏覽器中,按一下「\var\opt\mssql\backup」目錄,然後選取已上傳的備份檔案。
按一下「確定」接受所選項目並關閉對話方塊。
查看系統填入的備份媒體,然後按一下「確定」。
在 Linux 電腦上還原資料庫前,請務必更新 Linux 電腦上還原資料庫檔案的位置,因為 Windows 伺服器上的路徑在 Linux 伺服器上不存在。
- 按一下左選單中的「檔案」。
- 選取「將所有檔案重新放置到資料夾」,將還原的檔案移至 SQL Server 預設資料目錄。
- 按一下「確定」即可開始還原程序。
列出伺服器上的所有資料庫,確認還原作業是否成功。 系統應會列出已還原的資料庫。
SELECT Name FROM sys.Databases GO
在遷移的資料庫上執行其他查詢。
USE AdventureWorks2022 SELECT top 100 * FROM [Person].[Person] GO
清除所用資源
完成教學課程後,您可以清除所建立的資源,這樣資源就不會繼續使用配額,也不會產生費用。下列各節將說明如何刪除或關閉這些資源。
刪除專案
如要避免付費,最簡單的方法就是刪除您為了本教學課程所建立的專案。
如要刪除專案:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.