从Windows迁移SQL Server到Linux
前一篇博客关于SQL Server on Linux的安装,地址:http://www.cnblogs.com/fishparadise/p/8057650.html,现在测试把Windows平台下的一个数据库迁移到Linux平台下。
1. 环境
Windows: Microsoft SQL Server 2008 R2 (SP3) - 10.50.6000.34 (X64)
Linux: CentOS 7.4,SQL Server 2017 (RC2) - 14.0.900.75 (X64)
2. 在Windows下创建备份
在Windows下使用SSMS完整备份数据库
BACKUP DATABASE db1 TO DISK = 'D:\sql_bak\db1\db1.bak'
WITH
COMPRESSION, INIT, SKIP, NAME = 'full_backup',STATS = 1
GO
code-1: 备份数据库
3. 复制备份文件到Liunx
把备份文件复制到Linux,如放到/tmp/下。可以用FTP,或rz等工具。
4. 在Linux下还原数据库
使用终端(如Xshell)连接到Linux。默认数据文件目录在/var/opt/mssql/data/下,如果要指定数据目录的话,可创建自定义目录并赋予相应权限。
mkdir -p /data/mssql_data
chown -R mssql:mssql /data/mssql_data
code-2: 创建目录并修改权限
使用sqlcmd连接到数据库
sqlcmd -S localhost -U sa
code-3: 连接到数据库
RESTORE DATABASE db1 FROM DISK = '/tmp/db1.bak'
WITH
MOVE 'db1' TO '/data/mssql_data/db1.mdf',
MOVE 'db1_log' TO '/data/mssql_data/db1_log.ldf',
STATS = 1, REPLACE, RECOVERY
GO
code-4: 还原数据库
注意:不能复制并粘贴整个多行命令一次,只能复制每个行后按 enter 键。最后以GO结束,回车后执行。
当然,也可以把上面的还原数据库的命令写到一个文件,再使用sqlcmd执行脚本方式来还原数据库。
sqlcmd -S localhost -U sa -i '/data/mssql_data/restore_db.txt'
code-5: 执行脚本文件还原数据库
5. 查询验证
在Linux下的sqlcmd查询:

Figure-1: sqlcmd下的查询

Figure-2: SSMS下db1数据库的属性(Files)
在Windows的SSMS连接到Linux下的数据库,发现数据库文件的路径不是Linux的正斜杠,而是Windows的反斜杠;Compatibility level也无法修改。

Figure-2: SSMS下db1数据库的属性(Options)

Figure-2: SSMS下的查询
6. 参考
https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-migrate-restore-database
从Windows迁移SQL Server到Linux的更多相关文章
- 如丝般顺滑地从Windows迁移SQLServer数据库到Linux
老鸟看过菜鸟的上一篇<MSSQL On Linux备份与还原>文章后,很满意,但是还是忍不住发问:"这篇文章讲的是MSSQL在Linux系统上的备份与还原,如果我之前是Windo ...
- SQL Server on Linux: How? Introduction: SQL Server Blog
SQL Server Blog Official News from Microsoft’s Information Platform https://blogs.technet.microsoft. ...
- SQL Server On Linux:基于实际项目案例,总结功能支持情况及相关问题解决方案,讲如何快速完成迁移
上个月,有个朋友问我说Sql Sever向Mysql迁移有什么好的经验分享,他们公司客户明确提出不再提供Windows服务器,现在计划Mysql迁移.我说Mysql迁移成本太高了,不妨可以了解一下SQ ...
- SQL Server on Linux 理由浅析
SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...
- 配置SQL Server on Linux(2)
1. 前言 前一篇配置SQL Server on Linux(1),地址:http://www.cnblogs.com/fishparadise/p/8125203.html ,是关于更改数据库排序规 ...
- centos7安装配置sql server 2017 linux教程
一.安装教程 https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker https://docs.mic ...
- 微软发布SQL Server on Linux
本文参考并翻译自:微软云计算与企业执行副总裁Scott Guthrie的博客. 过去的一年,不管是对于微软的数据业务,还是整个行业,都是令人惊喜的一年.在周四刚于纽约举行的Data Driven活动中 ...
- 关于解决Mac使用docker安装SQL server for Linux 中文乱码问题
本人是Mac的追随者,无奈本学期数据库课要求使用Microsoft的SQL server.但是Microsoft并没有发布SQL server for Mac ,笔者使用Google搜索后, 发现可以 ...
- Microsoft SQL Server on Linux 踩坑指南
微软用 SQL Server 在 2016 年的时候搞了一个大新闻,宣传 Microsoft ❤️ Linux 打得一众软粉措手不及.但是这还是好事情,Linux 上也有好用的 SQL Server ...
随机推荐
- 【20171106早】BeEF 工具初探
老黑今天接触BeEF工具,首先要了解这个工具能够做什么? 0x01:功能介绍 专业文档:点击这里 通俗的说就是可以控制别的浏览器,获取浏览器的信息.然后做something 专业的说就是好用的渗透测试 ...
- jQuery选择器(ID选择器)第一节
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- layui + jfinal 实现上传下载
1.需要把jfinal的环境配置好 2.导入相关的库文件 layui的库文件 就是这两个文件需要导入到自己的页面 注意:jfinal总会把路径拦截,所以需要静态文件处理.本人不太懂.就网上找了下,说w ...
- SSO单点登录一:cas单点登录防止登出退出后刷新后退ticket失效报500错,也有退出后直接重新登录报票根验证错误
问题1: 我登录了client2,又登录了client3,现在我把client2退出了,在client3里面我F5刷新了一下,结果页面报错: 未能够识别出目标 'ST-41-2VcnVMguCDWJX ...
- 面向亿万级用户的QQ一般做什么?——兴趣部落的 Web 同构直出分享
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:李强,腾讯web开发工程师商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处.原文链接:http://wetest.qq.co ...
- linux7.2系统中安装Nmon并使用
前提 安装linux系统中遇到一个问题,设置ip以后则ping不通,简单总结几步: 1.设置ip 进入 /etc/sysconfig/network-scripts目录下,修改文件名为ifcfg-en ...
- Json字符串解析原理、超大json对象的解析
概述 附上完整的代码:https://pan.baidu.com/s/1dEDmGz3(入口类是Json)JSON:JavaScript 对象表示法(JavaScript Object Notatio ...
- 自理一遍android 高级知识
之后按目录得复习巩固 目录: 客卓高级知识整理 1 移动架构 1.1 素养与基础 1.1.1 主流设计模式 创建型 行为型 结构型 1.1.2 UML 1.1.3 设计原则 1.1.4 AOP架构 1 ...
- webpack 1.x 学习总结
webpack介绍(from github): A bundler for javascript and friends. Packs many modules into a few bundled ...
- scrapy初试水 day02(正则提取)
1.处理方式 法一 通过HtmlXPathSelectorimport scrapyfrom scrapy.selector import HtmlXPathSelectorclass DmozSpi ...