SQL Server in Docker 还原数据库

上一回演示了如果在Docker环境下安装SQL Server(使用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看看数据库是否真的还原成功了。

可以看到数据库已经还原上去,里面的表,数据都可以正常操作。至此,数据库文件还原成功。

SQL Server in Docker - 还原数据库相关推荐

  1. 如何在SQL Server 2005中还原数据库

    还原数据库的方式 有几种数据库备份的方式就将会有几种还原数据库的 方式: l 完整备份的还原:无论是完整备份.差异备份还是事务日志备份的还原,在第一步都要先做完整备份的还原.完整备份的还原只需要还原完 ...

  2. SQL Server 远程备份还原数据库

    1.      检查SQL Server 服务的启动账户 检查SQL Server启动账户是否为Local System,如果是修改为" NT AUTHORITY/NetworkServic ...

  3. SQL Server中的零碎数据库还原

    This article explores the piecemeal database restore SQL Server feature and its benefits to minimize ...

  4. 黄聪:SQL server 2005高可用性之----数据库镜像

    SQL server 2005高可用性之数据库镜像,是SQL server 2005的新技术之一,是一种基于软件的高可用性解决方案,可以对不同服务器或同一服务器不同实例之间的数据库实验无数据延迟,自动 ...

  5. 实验二:SQL server 2005高可用性之----数据库镜像

    如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/11/04/4769060.aspx SQL server 2005高可用性之数据库 ...

  6. 使用SQL Server 2017 Docker容器在.NET Core中进行本地Web API开发

    目录 介绍 先决条件 最好事先知道 假设 动机 跨平台 快速安装 经济有效 不同版本/多个实例 速度 持久性 找到SQL Server 2017镜像并在本地下载它 在没有卷挂载的情况下在本地执行SQ​ ...

  7. 【问】SQL 2012中如何还原数据库?

    [问题描述] SQL 2012中如何还原数据库? [答] 还原的方法如下: 1.登录SQL Server Management Studio 2.左边列表处选择"数据库"--&qu ...

  8. SQL Server 2008/2012 完整数据库备份+差异备份+事务日志备份 数据库备份

    文章目录 数据备份分类 根据备份目标分类 根据备份数据文件的范围进行分类 完整数据库备份 从是否复制所有的数据分类 差异备份 日志备份 事务日志备份 最常用的备份方法 选择备份策略和恢复模式 简单恢复 ...

  9. 基于Sql Server 2008的分布式数据库的实践(一)

    原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...

最新文章

  1. java日期转化工具类
  2. python找工作学历_第一学历和最高学历,哪一个对找工作帮助更大?
  3. 中国石油大学 c语言程序设计 复习题,中国石油大学《C语言程序的设计》期末复习试题与答案...
  4. linux deepin sudo: add-apt-repository:找不到命令 解决办法
  5. SAP CRM定价决定(Price Determine)的调试入口
  6. MySQL 基础 ———— 存储过程与函数
  7. mysql查询缓存到redis_php查询mysql并缓存到redis
  8. C++ 函数需要有返回值,但非全分支return(RVO)
  9. [ 深度学习 ] —— 图卷积神经网络 GCN
  10. Linux命令--vi(编辑或查看文件内容)
  11. 【智慧旅游】以阿里飞猪为例浅谈产品升级策略
  12. 得用户者得天下  解析明基的保时捷设计水准
  13. 怎么样配置阿里云的CDN-可以加速网站访问速度
  14. 【SPI总线常见错误】
  15. C++静态成员对象与静态成员函数
  16. mysql如何用jsp代码进行数据库备份_mysql如何用jsp代码进行数据库备份
  17. Flink scal api 不支持RichAsyncFunction
  18. Graph Signal Processing——Part I: Graphs, Graph Spectra, and Spectral Clustering (文献翻译)
  19. 【联机对战】微信小程序联机游戏开发流程详解
  20. iOS WebCore的wak目录

热门文章

  1. MAD huashi
  2. Java web application——基础
  3. [cf797c]Minimal string(贪心+模拟)
  4. Java的原始数据类型一共就8个
  5. POJ1269 Intersecting Lines 计算几何 C语言
  6. java 连接kafka_设置多个kafka连接接收器
  7. pc微信不支持flash_在出售PC之前,如何取消对Flash内容的授权
  8. IE不能直接顯示PDF的原因分析和解決方法
  9. iOS - block变量捕获原理
  10. 网构软件-Internetware