阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MSSQL On Linux备份与还原

351次阅读
没有评论

共计 2556 个字符,预计需要花费 7 分钟才能阅读完成。

问题引出

这天老鸟喜笑颜开的找到菜鸟:“听说微软 11 月 16 号发布了 MSSQL ON Linux 版本了?要不要尝尝鲜?”。
“老大,我已经尝过了,你不知道我写了一篇《Happy Birthday to MSSQL On Linux》?”,这次换菜鸟得意洋洋了。
“不错嘛,那你要不要研究看看 MSSQL On Linux 备份与还原,看看和 Windows 上有没有什么区别。”,老鸟总是能给菜鸟找到活干。

Ubuntu 16.04 下安装 SQL Server for Linux http://www.linuxidc.com/Linux/2016-11/137328.htm

从 Windows 迁移 SQL Server 数据库到 Linux  http://www.linuxidc.com/Linux/2016-12/138261.htm

备份与还原

菜鸟虽然对 MSSQL On Linux 也很有兴趣,并且也想测试下备份与还原功能。但是,被老鸟赶着走总觉得不爽快。不爽归不爽,老鸟安排的任务还是要完成的,要不然等会儿老鸟不爽起来,后果很严重。

备份

菜鸟的备份过程非常简单:创建表 table1 => 做一个完全备份 => 创建表 table2 => 做一个差异备份 => 创建表 table3 => 做一个事务日志备份。

USE master
GO

--If not exists, create testing database
IF DB_ID('TestDB') IS NULL
    CREATE DATABASE TestDB;
GO

--create the 1st table
USE TestDB
GO
IF OBJECT_ID('dbo.Table1', 'U') IS NOT NULL
    DROP TABLE dbo.Table1
GO

CREATE TABLE dbo.Table1(RowID INT
)
GO

--make a full backup
BACKUP DATABASE [TestDB] 
TO  DISK = N'C:\var\opt\mssql\data\TestDB_full.bak' 
WITH NOFORMAT, NOINIT,  
NAME = N'TestDB-Full Database Backup', SKIP, 
NOREWIND, NOUNLOAD,  STATS = 10
GO

--create the second table
IF OBJECT_ID('dbo.Table2', 'U') IS NOT NULL
    DROP TABLE dbo.Table2
GO

CREATE TABLE dbo.Table2(RowID INT
)
GO

--take a diff backup
BACKUP DATABASE [TestDB] 
TO  DISK = N'C:\var\opt\mssql\data\TestDB_diff.bak' 
WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  
NAME = N'TestDB-Differential Database Backup', SKIP, 
NOREWIND, NOUNLOAD,  STATS = 10
GO

--create the third table
IF OBJECT_ID('dbo.Table3', 'U') IS NOT NULL
    DROP TABLE dbo.Table3
GO

CREATE TABLE dbo.Table3(RowID INT
)
GO

--take transaction log backup
BACKUP LOG [TestDB] 
TO  DISK = N'C:\var\opt\mssql\data\TestDB_log.bak' 
WITH NOFORMAT, NOINIT,  
NAME = N'TestDB-Transaction Log  Backup', SKIP, 
NOREWIND, NOUNLOAD,  STATS = 10
GO

备份文件在 Linux 系统中的位置:

[root@localhost ~]# ls /var/opt/mssql/data/ | grep bak
TestDB_diff.bak
TestDB_full.bak
TestDB_log.bak

还原

数据库完全备份,差异备份和事务日志备份完毕后,接下来菜鸟做了还原的测试,思路是:删除测试数据库 => 还原数据库完全备份文件 => 还原差异备份文件 => 还原事务日志备份文件 => 检查数据库中是不是三个表都存在,如果存在则成功,否则失败。

--==============next is for restore operation
USE master
GO

--drop database if exists for testing
IF DB_ID('TestDB') IS NOT NULL
    DROP DATABASE TestDB;
GO

--restore full database backup
RESTORE DATABASE [TestDB] 
FROM  DISK = 'C:\var\opt\mssql\data\TestDB_full.bak'  WITH  FILE = 1,  
MOVE N'TestDB' TO N'C:\var\opt\mssql\data\TestDB.mdf',  
MOVE N'TestDB_log' TO N'C:\var\opt\mssql\data\TestDB_log.ldf',  
NORECOVERY,  NOUNLOAD,  REPLACE,  STATS = 10
GO

--restore the diff backup
RESTORE DATABASE [TestDB] 
FROM  DISK = N'C:\var\opt\mssql\data\TestDB_diff.bak' WITH  FILE = 1
,  NORECOVERY,  NOUNLOAD,  STATS = 10
GO

--restore the transaction log backup
RESTORE LOG [TestDB] 
FROM  DISK = N'C:\var\opt\mssql\data\TestDB_log.bak' WITH  FILE = 1
,  NOUNLOAD,  STATS = 10
GO

查看结果,从结果来看三个表存在数据库 TestDB 中,结果成功如预期。
MSSQL On Linux 备份与还原

写在最后

从整个测试过程来看,MSSQL On Linux 与 MSSQL On Windows 的备份还原功能保持一致,甚至连语法格式都一样。这种风格的一惯性和如丝般平顺过度的策略非常赞。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/138262.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计2556字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7801828
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...