我已经在我的 Ubuntu VPS 上安装了 Docker 并运行了一个容器,以解决 SQL Server 和备份文件之间的版本不兼容问题,但即使使用 docker 也没有解决。在恢复数据期间...
我已经在我的 Ubuntu VPS 上安装了 Docker 并运行了一个容器,以解决 SQL Server 和备份文件之间的版本不兼容问题,但即使使用 docker 也没有解决。在恢复数据库期间:
1> RESTORE DATABASE Line
2> FROM DISK = '/var/opt/mssql/backup/Line-2024714-17-46-37.bak'
3> WITH MOVE 'Line_Data' TO '/var/opt/mssql/data/Line.mdf',
4> MOVE 'Line_Log' TO '/var/opt/mssql/data/Line.ldf';
5> GO
收到错误:
数据库是在运行版本 15.00.2000 的服务器上备份的。该版本与运行版本 15.00.4375 的此服务器不兼容。请在支持备份的服务器上还原数据库,或使用与此服务器兼容的备份。
如您所见,版本彼此不匹配。因此,我删除了当前的 docker 容器:
sudo docker rm -f sql1
运行另一个与备份相同的 SQL Server 版本 2019 GA(15.00.2000)的 Docker 容器:
sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=myPassword' \
-p 1435:1433 --name sql1 \
-v /var/opt/mssql/backup:/var/opt/mssql/backup \
-d mcr.microsoft.com/mssql/server:2019-GA-ubuntu-16.04
恢复数据库后,我再次收到相同的错误,并显示一条有趣的文字:
数据库是在运行版本 15.00.2000 的服务器上备份的。该版本与运行版本 15.00.2000 的此服务器不兼容。请在支持备份的服务器上还原数据库,或使用与此服务器兼容的备份。
虽然版本相同但是出现同样的错误!
正如我上面所解释的,我匹配了版本但错误尚未解决。