![](/img/trans.png)
[英]How to view .bak file from DATABASE BACKUP in SQL Server on Docker
[英]How to automate creating and running a “clean” SQL Server database starting from a backup using Docker and Docker Compose?
我正在一家使用小型SQL Server备份文件处理数据库自举的公司中入职。 我宁愿避免使用各种中间件来污染Windows的主要安装,因此我想尽可能多地对其进行docker化。
就是说,我对SQL Server管理不是很熟悉,因此我对如何完成这些细节以及我对此的想法是否完全正确感到有些困惑。
我正在考虑两种基本方法:
FROM microsoft/mssql-server-windows-express
添加一个Dockerfile到项目中,还原备份文件,最后得到一个容器映像,并准备好数据库。
docker-compose up --build
来获取正确的状态。 我的问题是:
目前尚不清楚您何时需要重置容器数据库的状态,这两个选项听起来都一样。
如果更改备份需要重建数据库,则可以在两阶段的Windows容器中非常高效地完成此操作:
from microsoft/mssql-server-windows-developer as db_restore
copy db.bak \.
run Invoke-Sqlcmd -Query \"restore database [temp] from disk = 'c:\\db.bak' \
with move 'Db_Data' to 'c:\\db.mdf', \
move 'Db_Log' to 'c:\\db.ldf'\"
run Invoke-Sqlcmd -Query \"shutdown with nowait\"
from microsoft/mssql-server-windows-developer
workdir \data
copy --from=db_restore \db.mdf .
copy --from=db_restore \db.ldf .
run Invoke-Sqlcmd -Query \"create database [Db] \
on primary ( name = N'Db_Data', filename = N'c:\\data\\db.mdf') \
log on (name = N'Db_Log', filename = N'c:\\data\\db.ldf') for attach\"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.