我正在尝试将SQL Server 2016数据库还原到SQL Server 2017 docker实例(microsoft / mssql-server-linux:latest).这个过程似乎是:
>创建docker容器:docker run -e’ACCEPT_EULA = Y’-e’SA_PASSWORD =< strong password>‘ – p 1433:1433 –name’sql1’microsoft / mssql-server-linux
>创建备份目录:docker exec -it sql1 mkdir / var / opt / mssql / backup
>将备份复制到目录:docker cp Foobar.bak sql1:/ var / opt / mssql / backup
>登录mssql服务器:mssql -o 1433 -u sa -p
>获取备份文件列表:从disk =’/ var / opt / mssql / backup / Foobar.bak’恢复文件列表< - 返回的每一行将导致下一步中的移动命令
>恢复数据库:从disk =’/ var / opt / mssql / backup / Foobar.bak’恢复数据库Foobar,stats = 10,替换,将’Foobar’移动到’/var/opt/mssql/data/Foobar.mdf’ ,将’Foobar_log’移动到’/var/opt/mssql/data/Foobar.ldf’
最后一步是输出失败:
Error: The backup or restore was aborted.
我试图找到一个错误日志,并找到/ var / opt / mssql / log / errorlog. AFAICT,在我的中止恢复操作中,此文件中没有任何内容输出.
我怎样才能确定发生了什么?是否有可用于获取更多信息的日志?
解决方法:
使用SQLCMD在容器中执行任何即席查询(包括RESTORE)的简单方法是:
docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd -Usa -P<strong password> -Q"restore database Foobar from disk='/var/opt/mssql/backup/Foobar.bak' with stats=10, replace, move 'Foobar' to '/var/opt/mssql/data/Foobar.mdf', move 'Foobar_log' to '/var/opt/mssql/data/Foobar.ldf';"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。