本頁面將說明下列方法:
理想的遷移方法會受到特定資料庫可接受的停機時間和資料庫大小的影響。最常用的技術是備份與還原方法。
費用
在本文件中,您會使用 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.
-
Make sure 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.
-
Make sure that billing is enabled for your Google Cloud project.
完成本教學課程後,您可以刪除建立的資源以避免繼續計費。詳情請參閱「清除所用資源」一節。
以下各節將說明如何將 SQL Server 資料庫從 Windows 伺服器遷移至 Linux 伺服器。
將 SQL 資料庫匯入 Linux
本節將說明如何從 Windows 版 SQL Server 匯出 SQL 資料庫,並使用 SQL Server Management Studio (SSMS) 將資料庫匯入 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,然後按一下「連線」。
- 在「物件總管」中,展開「資料庫」。
在目標資料庫上按一下滑鼠右鍵,選取「Tasks」,然後按一下「Export Data-Tier Application...」。系統會開啟「Export Data」(匯出資料) 精靈。
在「匯出資料」精靈中,選取「下一步」。
在「設定」分頁中,設定「匯出資料」精靈,將備份套件 (BACPAC) 檔案 (.bacpac) 儲存至本機磁碟。
指定資料夾和檔案名稱,如下所示:
c:\export\MigrationFile.bacpac
點選「下一步」。
查看指定的設定,然後按一下「完成」即可開始匯出程序。系統已成功在您選取的位置建立 .bacpac 檔案。您現在可以將其匯入目標 SQL Server。
將資料庫匯入 Linux
如要將 SQL 資料庫匯入 Linux 版 SQL Server,請按照下列步驟操作:
- 開啟 SSMS。
- 在「連線」視窗中輸入目標伺服器的 IP 位址,然後按一下「連線」。
- 在「物件總管」中的「資料庫」資料夾上按一下滑鼠右鍵,然後選取「Import Data-tier Application...」。
指定在匯出程序中建立的 .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。
- 在「物件總管」中,展開「資料庫」。
在目標資料庫上按一下滑鼠右鍵,選取「工作」,然後點選「備份...」。
在「Backup Database」(備份資料庫) 視窗中,確認「Backup type」(備份類型) 已設為「Full」(完整),且「Back up to」(備份至) 已設為「Disk」(磁碟)。請記下備份檔案的名稱和位置。舉例來說,SQL Server 2022 上的資料庫備份預設位置為 C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Backup。
按一下「OK」即可開始備份。
將備份檔案複製到 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 位址或主機名稱。
- 指定「登入」資訊和「密碼」。
按一下「連線」。
在「物件總管」中,以滑鼠右鍵按一下「資料庫」資料夾,然後選取「還原資料庫...」。
在「Restore Database」(還原資料庫) 視窗中,將「Source」(來源) 設為「Device」(裝置),然後按一下「...」開啟備份選取對話方塊。
在「Select backup device」對話方塊中,按一下「Add」。
在檔案瀏覽器中,按一下 \var\opt\mssql\backup 目錄,然後選取已上傳的備份檔案。
按一下「OK」接受選取項目並關閉對話方塊。
查看填入的備份媒體,然後按一下「確定」。
在 Linux 機器上開始還原資料庫前,您必須更新 Linux 機器上還原資料庫檔案的位置,因為 Linux 伺服器上不存在 Windows 伺服器的路徑。
- 在左選單中按一下「檔案」。
- 選取「將所有檔案重新指派至資料夾」,將復原的檔案移至 SQL Server 預設資料目錄。
- 按一下「OK」即可開始還原程序。
列出伺服器上的所有資料庫,驗證還原作業。系統應會列出已還原的資料庫。
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.