[SQL Server]On Linux奇幻旅程(二)Windows備份、Linux還原

Migrate a SQL Server database from Windows to Linux using backup and restore

事前條件:

  • 安裝好SQL Server 2017 CTP2.1(Linux)
  • 安裝好SQL Server Tools(Linux)及最新版SSMS管理工具

 


從Window下載範例備份檔案

下載AdventureWorks 2014資料庫備份檔案

https://msftdbprodsamples.codeplex.com/downloads/get/880661

 

 


從windows搬移備份檔案到linux上

1.Windows鍵 + R 輸入cmd

pscp c:/sql/adventureworks2014.bak cybercard@52.163.255.231:./

 

2.在Linux環境下搬移檔案

從Windows打開putty程式,用ssh登入,接著切換到super user

Sudo su

3.再輸入ls,確定檔案是否存在

ls

檔案有存在!

4.建立資料夾

mkdir -p /var/opt/mssql/backup

 

5.查詢目前所在目錄

Pwd

6.搬移檔案到sql備份資料夾目錄

mv /home/cybercard/adventureworks2014.bak /var/opt/mssql/backup/

 


使用sqlcmd工具在linux上進行還原

1.Restore

sqlcmd -S localhost -U SA

RESTORE DATABASE AdventureWorks
FROM DISK = '/var/opt/mssql/backup/AdventureWorks2014.bak'
WITH MOVE 'AdventureWorks2014_Data' TO '/var/opt/mssql/data/AdventureWorks2014_Data.mdf',
MOVE 'AdventureWorks2014_Log' TO '/var/opt/mssql/data/AdventureWorks2014_Log.ldf'
GO

還原成功!

2.試試看資料是否都有寫入

USE AdventureWorks
GO
SELECT TOP 10 Name, ProductNumber FROM Production.Product ORDER BY Name
GO

 

3.從Windows透過管理工具查詢

 


小結:

搬家似乎還蠻順利的。

 


參考:

如何從windows移轉資料庫到Linux

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-migrate-restore-database