【Mac】在docker中还原数据库

准备

Docker连接SQL Server

还原数据库

1 创建镜像sql1的文件目录 并 拷贝文件

*backup_name 替换为需还原的备份文件路径

sudo docker exec -it sql1 mkdir /var/opt/mssql/backup

sudo docker cp backup_name.bak sql1:/var/opt/mssql/backup

2进入容器,执行命令

*container_name 替换为容器名

sudo docker exec -it container_name /bin/bash

使用RESTORE FILELISTONLY命令列出备份数据文件的逻辑名

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'dev@123,' -Q 'RESTORE FILELISTONLY FROM DISK = "/var/opt/mssql/backup/backup_name.bak"' | tr -s ' ' | cut -d ' ' -f 1-2

使用RESTORE DATABASE命令还原数据库

*database_name替换为要还原的数据库名称

/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'dev@123,' -Q 'RESTORE DATABASE database_name FROM DISK = "/var/opt/mssql/backup/backup_name.bak" WITH MOVE "database_name" TO "/var/opt/mssql/data/database_name.mdf" , MOVE "database_name_log" TO "/var/opt/mssql/data/database_name_log.ldf"'

参考

SQLsever in docker 还原数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值