系统从windows迁移到linux,从Windows迁移SQL Server数据库到Linux

问题引出

老鸟看过菜鸟的这篇《MSSQL On Linux备份与还原》文章后,很满意,但是还是忍不住发问:“这篇文章讲的是MSSQL在Linux系统上的备份与还原,如果我之前是Windows系统的用户,怎么把我的数据库如丝般顺滑地迁移到MSSQL On Linux呢?”。

“嗯,老鸟,这个问题问的非常好,毕竟Windows的License费用不低,如果能够使用免费的Linux系统,的确会节约一大笔开销啊。”,于是菜鸟开始马不停蹄的研究如何将Windows上的数据库迁移到Linux系统中。

随着菜鸟的深入研究,决定选择使用备份还原的方式来试试从Windows迁移SQL Server数据库到Linux。

Windows上备份数据库

使用SSMS在源头Windows上的数据库执行下面语句,做一个AdventureWorks2008R2数据库的全备。

--execute on source database

USE master

GO

EXEC sys.xp_create_subdir 'C:\Temp\'

GO

--Generate at Dec 10 2016 10:34AM on server CHERISH-PC

RAISERROR ('%d/%d database backup %s to %s ',10,1 ,1,1,'CHERISH-PC.AdventureWorks2008R2','C:\Temp\') WITH NOWAIT

BACKUP DATABASE [AdventureWorks2008R2]

TO DISK = 'C:\Temp\AdventureWorks2008R2_full_20161210.bak'

WITH STATS = 2 , compression;

检查Windows上全备文件

6c75d7689adc57ff393a8fa1c8271d8e.png

上传备份文件到Linux

在Windows上完成全备以后,接下来我们需要将备份文件上传到Linux系统,菜鸟用的是MobaXterm这个工具自带的上传功能。

b5a15aaef2b443dde597ceada46e6cd1.png

Linux上检查上传的文件

# ls -l /var/opt/mssql/data/ | grep AdventureWorks2008R2_full_20161210.bak

-rw-r--r--.1root root 46030848Dec1000:17 AdventureWorks2008R2_full_20161210.bak

Linux上还原数据库

文件已经上传到Linux系统并检查没有问题以后,接下来就是在Linux上还原数据库了。

使用SSMS连接到Linux版本的SQLServer,执行下面的语句还原数据库到MSSQL ON Linux

--execute on destination database

USE master

GO

EXEC sys.xp_create_subdir 'C:\var\opt\mssql\data\AdventureWorks2008R2\SQL'

EXEC sys.xp_create_subdir 'C:\var\opt\mssql\data\AdventureWorks2008R2\LOG'

GO

USE master

GO

RESTORE DATABASE [AdventureWorks2008R2]

FROM DISK = N'C:\var\opt\mssql\data\AdventureWorks2008R2_full_20161210.bak'

WITH MOVE N'AdventureWorks2008R2_Data'

TO N'C:\var\opt\mssql\data\AdventureWorks2008R2\SQL\AdventureWorks2008R2_Data.mdf'

,MOVE N'AdventureWorks2008R2_Log'

TO N'C:\var\opt\mssql\data\AdventureWorks2008R2\LOG\AdventureWorks2008R2_log.LDF'

,STATS=2

GO

检查Linux中数据库文件结构

44725f25b5c0a6ea0197bd49258ed6e6.png

Linux中执行简单的查询

5b3646a82e8eeeb6f2f2c74767e3f910.png

SSMS中GUI查看

38033513fa4be3bf97eb5ea828e9a52c.png

写在最后

从测试结果来看,MSSQL ON Linux完全兼容从Windows数据库的备份的文件,并且版本还做到了向下兼容,这点非常好,完全做到了如丝般顺滑过度到MSSQL On Linux。细心的你一定注意到了,菜鸟是从MSSQL 2008R2的数据库备份还原到Linux上的。

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值