从Windows迁移SQL Server到Linux

原文:从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

时间: 2024-08-02 05:21:44

从Windows迁移SQL Server到Linux的相关文章

SQL Server on Linux: How? Introduction: SQL Server Blog

SQL Server Blog Official News from Microsoft's Information Platform https://blogs.technet.microsoft.com/dataplatforminsider/2016/12/16/sql-server-on-linux-how-introduction/ This post was authored by Scott Konersmann, Partner Engineering Manager, SQL

微软发布SQL Server on Linux

本文参考并翻译自:微软云计算与企业执行副总裁Scott Guthrie的博客. 过去的一年,不管是对于微软的数据业务,还是整个行业,都是令人惊喜的一年.在周四刚于纽约举行的Data Driven活动中,我们为今年晚些时候将发布的SQL Server 2016通用版本启动了一系列的宣传活动.这是我们有史以来,针对SQL Server做的最重大的版本发布,同时带来的是更多拥有超凡体验的新特性.SQL Server 2016将拥有: 开创性的安全加密技术特性,使得数据无论在存储时.运算中.或是在内存里

配置SQL Server on Linux(2)

1. 前言 前一篇配置SQL Server on Linux(1),地址:http://www.cnblogs.com/fishparadise/p/8125203.html ,是关于更改数据库排序规则的.实现的原理跟在Windows平台差不多,都是需要备份用户数据库,重建系统数据库来实现的,不过操作过程简化了.下面的配置是一些常规的设置,比如最大内存,默认数据文件位置,等. 2. 环境 Linux: CentOS 7.4,SQL Server 2017 (RC2) - 14.0.900.75

Windows Server2016+SQL Server 2016 Cluster安装及配置

Windows Server2016+SQL Server 2016 Cluster 安装及配置 我们知道,近期微软正式发布了Windows Server2016和SQL Server Cluster 2016,所以借此机会来尝试一下Windows Server2016+SQL Server Cluster 2016安装及配置,对于相关功能的优化及升级需要在官网上自己查看整理.大概就是windows server2016跟windows10页面框架结构差不多,SQL Server2016从安装上

Windows Server2016+SQL Server Cluster 2016安装及配置

我们知道,近期微软正式发布了Windows Server2016和SQL Server Cluster 2016,所以借此机会来尝试一下Windows Server2016+SQL Server Cluster 2016安装及配置,对于相关功能的优化及升级需要在官网上自己查看整理.今天主要介绍一下Windows Server2016+SQL Server Cluster 2016安装及配置的详情介绍.具体见下: 环境介绍: Hostname:DC IP:192.168.5.10 Role:DC.

Microsoft SQL Server on Linux 踩坑指南

微软用 SQL Server 在 2016 年的时候搞了一个大新闻,宣传 Microsoft ?? Linux 打得一众软粉措手不及.但是这还是好事情,Linux 上也有好用的 SQL Server 啦,但是从预览版开始 SQL Server on Linux 的配置要求蜜汁高,大部分云主机用户都望而却步.另外,SQL Server on Linux 对于文件系统有限制,仅支持 Ext3 以及 XFS 文件格式系统,对于某些云服务商默认提供的云镜像限制 Ext3 文件格式系统的用户而言也是足够让

Microsoft SQL Server for Linux安装和配置

虽说mssql for linux早已经出来了,但原本没有打算这么早就去尝试的,无奈之下还是得先尝试用了,这里分几篇介绍我在用mssql for linux时遇到的问题,不得不说作为先吃螃蟹的人总是要付出一些代价的,真是会遇到各种奇葩问题,本篇博客只介绍如何安装mssql for linux,我依旧是在CentOS 上尝试安装的.官网也有安装步骤,也不需要过多的解释,我也只放部分截图,步骤如下: 在Linux下安装服务有很多种方式,最简单的也就是yum安装,如果使用yum安装,我们需要指定安装仓

SQL Server on Linux 2017(初识 LINUX下的SQL-SERVER功能应用)

安装环境Centos7:官方安装必要條件:必须 RHEL 7.3 或 7.4 机至少 2 GB的内存 1.设置mssql_server的YUM官方源:curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo 2.运行以下命令,安装 SQL Server:yum install -y mssql-server 3.软件包安装完成后,运行

SQL Server on Linux

SQL Server 2017 除了 运行在Windows 平台的版本外,还有运行在Red Hat.SUSE.Ubuntu.Docker上的版本,甚至还有微软Azure云端的预配SQL VM. 简单安装 首次接触时,可以通过官方的REPO源来在线安装SQL Server服务和客户端工具,可参照<在Oracle Linux 7上通过官方Repo在线安装SQL Server 2017>. 高级安装 生产环境,可以预先下载SQL Server服务.客户端工具.高可用等RPM包,离线安装,可参照<