7.数据库备份还原
Posted louisxx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7.数据库备份还原相关的知识,希望对你有一定的参考价值。
5.数据库备份还原
Linux下SqlServer的备份和还原
Eagle昊 2018-04-11 10:58:31 6760 收藏 8
分类专栏: 数据库 Linux学习笔记
版权
数据库
同时被 2 个专栏收录
8 篇文章0 订阅
订阅专栏
Linux学习笔记
4 篇文章0 订阅
订阅专栏
Linux下备份SqlServer数据库命令
//创建数据库备份文件夹
mkdir -pv /usr/local/databackup
//给mussql授予/usr/local/databackup文件夹的权限
chown -R mssql:mssql /usr/local/databackup/
//登录数据库
sqlcmd -S 127.0.0.1 -U sa
//备份数据库到指定路径
1> backup database Test to disk=\'/usr/local/databackup/Test0411.bak\'
2> go
1
2
3
4
5
6
7
8
9
10
2.Linux下还原数据库
// 登录数据库
sqlcmd -S 127.0.0.1 -U sa
// 查出备份文件的逻辑文件名(很重要!!!不然会报错)
RESTORE FILELISTONLY FROM DISK = \'/usr/local/databackup/Test0411.bak\'
// 这个时候会显示两条数据,可能在Linux下数据会很乱,你找到里面的第一列LogicalName对应的值,我这里一个为standard,另一个为standard_log,standard是数据文件逻辑名,standard_log是日志文件逻辑名
// 然后进行还原
1> RESTORE DATABASE TestDB FROM DISK = \'/usr/local/databackup/Test0414.bak\'
2> WITH MOVE \'standard\' TO \'/var/opt/mssql/data/TestDB.mdf\',
3> MOVE \'standard_log\' TO \'/var/opt/mssql/data/TestDB_Log.ldf\'
4> go
1
2
3
4
5
6
7
8
9
10
11
12
13
期间出现的问题:
1.
Msg 1834, Level 16, State 1, Server psqadb2, Line 1
无法覆盖文件 \'/var/opt/mssql/data/Test.mdf\'。数据库 \'Test\' 正在使用该文件。
Msg 3156, Level 16, State 4, Server psqadb2, Line 1
文件 \'standard\' 无法还原为 \'/var/opt/mssql/data/Test.mdf\'。请使用 WITH MOVE 选项来标识该文件的有效位置。
Msg 1834, Level 16, State 1, Server psqadb2, Line 1
无法覆盖文件 \'/var/opt/mssql/data/Test.ldf\'。数据库 \'Test\' 正在使用该文件。
Msg 3156, Level 16, State 4, Server psqadb2, Line 1
文件 \'standard_log\' 无法还原为 \'/var/opt/mssql/data/Test.ldf\'。请使用 WITH MOVE 选项来标识该文件的有效位置。
Msg 3119, Level 16, State 1, Server psqadb2, Line 1
在计划 RESTORE 语句时发现了问题。以前的消息提供了详细信息。
Msg 3013, Level 16, State 1, Server psqadb2, Line 1
RESTORE DATABASE 正在异常终止。
原因:这是因为没有使用WITH MOVE来还原数据文件和日志文件,导致跟原来的数据库的数据文件和日志文件重名,因为原来的数据库还在使用,导致覆盖报错
解决方法:在还原命令后面加上WITH MOVE就可以了,具体参考如上的例子
2.
逻辑文件 \'Test\' 不是数据库 \'TestDB\' 的一部分。请使用 RESTORE FILELISTONLY 来列出逻辑文件名。
原因:这是因为逻辑文件名错误,导致move报错
解决方法:通过RESTORE FILELISTONLY FROM DISK=’数据库备份文件bak路径’查出逻辑文件名,然后修改move后面的逻辑文件名为查出来的就可以了
————————————————
版权声明:本文为CSDN博主「Eagle昊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhang41228/article/details/79893230
RESTORE FILELISTONLY FROM DISK = \'/home/ZRAdmin/DB/meizhou.bak\'
go
RESTORE DATABASE HighWayMeiZhou FROM DISK = \'/home/ZRAdmin/DB/meizhou.bak\'
WITH MOVE \'YiShaAdmin\' TO \'/var/opt/mssql/data/HighWayMeiZhou.mdf\',
MOVE \'YiShaAdmin_log\' TO \'/var/opt/mssql/data/HighWayMeiZhou_Log.ldf\'
sqlserver数据库的备份与还原——完整备份与还原
sqlserver提供四种数据库备份方式
- 完整备份:备份整个数据库的所有内容包括书屋和日志
- 差异备份:只备份上次完整备份后更高的数据部分
- 事务日志备份:只备份事务日志里的内容
- 文件或文件组备份:只备份文件或文件组中的某些文件
在数据库完整备份期间,sqlserver做一下工作:
- 备份数据以及数据库中的所有表的结构和相应的文件结构
- 备份在备份期间发生的所有活动
- 备份在事务日志中未确认的事务
备份过程:
右击要备份的数据库--->任务--->备份
可以选择备份类型以及备份文件的存放位置。
还原过程;
在还原数据库的时候需要将原数据库删除,然后单击数据库--->还原数据库
将源选择为设备,然后选择备份文件的存储位置,添加进去,然后填写上目标文件名,点击确定即可。
以上是关于7.数据库备份还原的主要内容,如果未能解决你的问题,请参考以下文章
Xtrabackup2.4.8备份还原恢复Mysql5.7.19实操