docker sqlserver 还原备份 微软官方docker安装sqlserver教程 参考教程 拷贝bak文件到容器里 docker cp ~/downloads/备份.bak mssql2017:/var/opt/mssql/备份.bak 进入容器 docker exec -it mssql "bash" 在容器内部使用 sqlcmd 进行本地连接。 默认情况下,sqlcmd 不在路径之中,因此需要指定完整路径。使用RESTORE FILELISTONLY命令列出备份数据文件的逻辑名(替换真实password和备份)。 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'password' -Q 'RESTORE FILELISTONLY FROM DISK = "/var/opt/mssql/备份.bak"' | tr -s ' ' | cut -d ' ' -f 1-2 使用RESTORE DATABASE命令还原数据库(替换真实password、备份、databasename) /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'password' -Q 'RESTORE DATABASE databasename FROM DISK = "/var/opt/mssql/备份.bak" WITH MOVE "备份逻辑名" TO "/var/opt/mssql/data/备份逻辑名.mdf" , MOVE "备份逻辑名_log" TO "/var/opt/mssql/data/备份逻辑名.ldf"'