
SQL Server in Docker - 还原数据库
发布日期:2021-05-09 04:12:37
浏览次数:16
分类:博客文章
本文共 1096 字,大约阅读时间需要 3 分钟。
SQL Server in Docker 还原数据库
上一会演示了如果在Docker环境下安装SQL Server,这次我们来演示下如何还原一个数据库备份文件到数据库实例上。
使用winscp上传bak文件到linux服务器
上一回我们启动docker容器的时候使用了-v参数挂账了本地目录/hd2/sqlserver2019_data到容器内目录/var/opt/mssql,所以我们只需要把文件testdb.bak上传到/hd2/sqlserver2019_data目录,docker容器即可访问。
我使用了下Sql Server Management Studio的还原功能试了下,没有成功,不知是不是SSMS版本的问题。既然SSMS不能还原,那就使用命令行来试试吧。使用docker exec命令在容器内执行命令
因为SQL Server安装在Docker容器内,所以执行命令行都需要进入到容器内。
sudo docker exec -it sqlserver2019 /bin/bash接下来的命令全部在sqlserver2019容器内执行。
使用RESTORE FILELISTONLY命令列出备份数据文件的逻辑名
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'dev@123,' -Q 'RESTORE FILELISTONLY FROM DISK = "/var/opt/mssql/testdb.bak"' | tr -s ' ' | cut -d ' ' -f 1-2使用该命令可以把数据库的数据文件,日志文件名称显示出来。在接下来的恢复操作中有用。
使用RESTORE DATABASE命令还原数据库
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'dev@123,' -Q 'RESTORE DATABASE testdb FROM DISK = "/var/opt/mssql/testdb.bak" WITH MOVE "testdb" TO "/var/opt/mssql/data/testdb.mdf" , MOVE "testdb_log" TO "/var/opt/mssql/data/testdb.ldf"'看到RESTORE DATABASE successfully的时候表示数据库还原成功了。让我们使用SSMS看看数据库是否真的还原成功了。可以看到数据库已经还原上去,里面的表,数据都可以正常操作。至此,数据库文件还原成功。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年03月27日 20时59分37秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
wcf webHttpBinding Post 大数据量提交 ios c#客户端
2019-03-06
[LeetCode题解]141. 环形链表 | 快慢指针
2019-03-06
MySQL错误日志(Error Log)
2019-03-06
MySQL二进制文件(binlog)
2019-03-06
Redis性能篇(二)CPU核和NUMA架构的影响
2019-03-06
MMORPG大型游戏设计与开发(客户端架构 part3 of vegine)
2019-03-06
C基础 带你手写 redis ae 事件驱动模型
2019-03-06
深度优先搜索和广度优先搜索
2019-03-06
我是个怎样的人
2019-03-06
C基础 工程中常用的排序
2019-03-06
6.Android-五大布局
2019-03-06
第3阶段——内核启动分析之start_kernel初始化函数(5)
2019-03-06
12.Linux之输入子系统分析(详解)
2019-03-06
19.QT-事件发送函数sendEvent()、postEvent()
2019-03-06
MyBatis 面试题
2019-03-06
源码解析之 Mybatis 对 Integer 参数做了什么手脚?
2019-03-06
oracle使用DBMS_RANDOM包生成随机数据
2019-03-06
[转]收集Oracle UNDO诊断信息脚本
2019-03-06
.NET Core 2.0 Preview 1发布下载和文档
2019-03-06