SQL Server in Docker 还原数据库

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 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 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看看数据库是否真的还原成功了。

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

Email:kklldog@gmail.com
作者:Agile.Zhou(kklldog)
出处:http://www.cnblogs.com/kklldog/

相关实践学习
使用交互方式创建数据表
本次实验主要介绍如何在RDS-SQLServer数据库中使用交互方式创建数据表。
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
相关文章
|
29天前
|
数据库 Docker 容器
Mac 下Docker操作SQLServer数据库
Mac 下Docker操作SQLServer数据库
20 0
|
2月前
|
Oracle 关系型数据库 数据库
Docker安装Oracle_11g数据库并配置
Docker安装Oracle_11g数据库并配置
|
2月前
|
关系型数据库 数据库 PostgreSQL
使用 Docker 在 Windows、Mac 和 Linux 系统轻松部署 PostgreSQL 数据库
使用 Docker 在 Windows、Mac 和 Linux 系统轻松部署 PostgreSQL 数据库
129 1
|
4月前
|
关系型数据库 MySQL 数据库
|
4月前
|
Java 关系型数据库 MySQL
Spring Boot入门(二十八) 之 Docker安装数据库
Spring Boot入门(二十八) 之 Docker安装数据库
|
4月前
|
SQL 开发框架 Java
Docker安装达梦数据库以及使用
Docker安装达梦数据库以及使用
824 0
|
5月前
|
SQL 存储 安全
docker 安装sqlserver数据库并开启代理(保姆级)
docker 安装sqlserver数据库并开启代理(保姆级)
188 0
|
5月前
|
开发框架 .NET Linux
windows环境30分钟从0开始快速搭建第一个docker项目(带数据库交互)
windows环境30分钟从0开始快速搭建第一个docker项目(带数据库交互)
|
5月前
|
存储 Cloud Native 关系型数据库
云原生之使用docker部署Postgresql数据库
云原生之使用docker部署Postgresql数据库
181 0
云原生之使用docker部署Postgresql数据库
|
6月前
|
安全 数据库 Docker
将数据库运行在 Docker 中的优点
将数据库运行在 Docker 中有以下好处: 1. 方便在不同的环境中部署和移植:Docker 可以将数据库和其依赖的环境(如操作系统、配置文件等)打包成一个镜像。这使得在不同的环境中部署和移植数据库变得非常方便。例如,在开发、测试和生产环境中,我们可以使用完全相同的镜像构建数据库。 2. 更容易管理和升级:Docker 容器是轻量级的,启动和停止非常快速。这意味着我们可以更容易地管理多个数据库实例,并且在需要更新或升级时也能够快速、可重复地进行操作。 3. 更安全的沙盒环境:Docker 容器提供了一个沙盒环境,使得运行应用程序的操作系统与主机操作系统相隔离。这可以有效降低不同应用程序
推荐文章
更多