Centos7.3 下SQL Server 备份及还原的两种方式

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

我们前面两篇文章介绍了Centos7.3下SQL Server的安装配置及使用Powershell的管理介绍,今天我们接着介绍如何实现Centos7.3 下SQL Server  备份及还原,有两种方式:1、使用SSMS备份及还原,该方式最为简单也最方便操作的方式,2、使用Linux下SQL Server自带功能命令备份,具体见下:

我们上一篇中创建了一个测试数据库,我们接着拿这个数据库进行测试,我们首先使用第一种方式,使用SSMS进行连接备份;

我们首先使用SSMS连接数据库,然后右击数据库---tasks---Back up

clipboard

我们可以看见默认的备份路劲:默认的备份路劲 /var/opt/mssql/data/下;数据库的格式还是跟windows上的一样.bak格式;

单击--ok开始备份

clipboard

备份完成

clipboard

我们查看备份文件

1
cd  /var/opt/mssql/data/

clipboard

接下来我们查看默认数据,然后尝试还原一下;

我们通过powershell进行操作;默认是有两条数据的

1
2
select  * from xllinfo;
go

clipboard

接下来我们插入一条数据

1
2
insert into xllinfo values (3, 'gavin' ,29);
go

clipboard

接下来我们我们通过SSMS进行查看一下

1
select  * from xllinfo

clipboard

接下来我们尝试使用SSMS用刚才的备份还原一下

右击数据库-会话-还原--数据库

clipboard

我们可以看见默认的源,但是我们不使用这样的方式

clipboard

1
我们选择Device---浏览

clipboard

选择添加文件

clipboard

选择备份路劲的备份文件

clipboard

单击确认

clipboard

如果确认信息的话,就可以单击还原了

clipboard

我们还原提示数据库正在使用,所以我们需要停掉访问数据库进程

clipboard

我们使用脚本

我们在系统数据库下执行

1
2
ALTER DATABASE [xll]
SET OFFLINE WITH ROLLBACK IMMEDIATE

clipboard

接下来我们重新尝试还原,但是需要勾选--选项中的--覆盖已经存在的数据库

clipboard

还原成功

clipboard

接下来我们查看数据,我们还原后,我们发现新增的一条数据没了;

clipboard

接下来我们使用第二种方法进行能备份,使用在Linux下进行备份

我们在备份前,需要重新插入几条数据,因为上面的还原已经把之前插入的数据覆盖了;我们使用sqlcmd进行插入数据

1
2
sqlcmd –S localhost –U sa
回车输入密码

clipboard

使用xll数据库,然后查询默认数据

1
2
3
use xll;
select  * from xxlinfo;
go

clipboard

接下来我们插入数据

1
2
3
4
insert into xllinfo values (4,’user01’,20);
insert into xllinfo values (4,’user02’,30);
insert into xllinfo values (4,’user03’,40);
go

clipboard

接下来就是通过sqlcmd进行备份

1
sqlcmd -H localhost -U SA -Q  "BACKUP DATABASE [xll] TO DISK = N'/var/opt/mssql/data/xlldb01.bak' WITH NOFORMAT, NOINIT, NAME = 'xll-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

clipboard

我们接下来查看一下备份文件

1
cd  /var/opt/mssql/data/

clipboard

接下来我们备份log

1
sqlcmd -H localhost -U SA -Q  "BACKUP LOG [xll] TO DISK = N'/var/opt/mssql/data/xlldb01_LogBackup_2017-03-04_12-10-10.bak' WITH NOFORMAT, NOINIT, NAME = N'xlldb01_LogBackup_2017-03-04_12-10-10', NOSKIP, NOREWIND, NOUNLOAD, NORECOVERY , STATS = 5"

clipboard

接下来我们删除里面的数据,然后进行查看、

1
2
3
use xll;
select  * from xllinfo;
go

clipboard

然后我们删除数据

1
2
3
delete xllinfo where name =  'ls' ;
delete xllinfo where name =  'zs' ;
go

clipboard

我们再次查看

clipboard

接下来我们进行还原了;

提示数据库正在使用,无法还原

1
sqlcmd -H localhost -U SA -Q  "RESTORE DATABASE [xll] FROM DISK = N'/var/opt/mssql/data/xlldb01.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"

clipboard

所以我们需要端口所有连接数据库的会话才可以

我们需要执行一下操作

1
2
3
4
5
6
7
ALTER DATABASE [xll]
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
或者
ALTER DATABASE [xll]
SET OFFLINE WITH ROLLBACK IMMEDIATE
GO

clipboard

两种方式都是可以执行的;接下来我们尝试还原

1
sqlcmd -H localhost -U SA -Q  "RESTORE DATABASE [xll] FROM DISK = N'/var/opt/mssql/data/xlldb01.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 5"

clipboard

我们最后查看

1
2
3
use xll;
select  * from xllinfo;
go

clipboard



本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1903732,如需转载请自行联系原作者

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
打赏
0
0
0
0
262
分享
相关文章
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
112 4
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
139 1
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
Microsoft SQL Server 2014如何来备份数据库
Microsoft SQL Server 2014如何来备份数据库
551 3
|
5月前
|
备份SQL语句
【8月更文挑战第20天】备份SQL语句
50 3
|
5月前
|
SQL Server 如何进行备份?
【8月更文挑战第20天】SQL Server 如何进行备份?
125 3
|
5月前
|
SQL Server 中的备份类型详解
【8月更文挑战第31天】
132 0
Struts 2 日志管理化身神秘魔法师,洞察应用运行乾坤,演绎奇幻篇章!
【8月更文挑战第31天】在软件开发中,了解应用运行状况至关重要。日志管理作为 Struts 2 应用的关键组件,记录着每个动作和决策,如同监控摄像头,帮助我们迅速定位问题、分析性能和使用情况,为优化提供依据。Struts 2 支持多种日志框架(如 Log4j、Logback),便于配置日志级别、格式和输出位置。通过在 Action 类中添加日志记录,我们能在开发过程中获取详细信息,及时发现并解决问题。合理配置日志不仅有助于调试,还能分析用户行为,提升应用性能和稳定性。
70 0

热门文章

最新文章