无法通过 MSSQL vNext Ubuntu 16.04 使用 SSMS 2017 还原数据库

Cannot restore a database with SSMS 2017 over MSSQL vNext Ubuntu 16.04

我刚刚安装了最新版本的 Sql Server Management Studio 2017 (v17.0),以便连接到全新的 SQL 服务器 vNEXT Ubuntu 16.04.

所以,我尝试恢复经典的NORTHWND数据库,只是为了测试环境,但是系统返回错误。

尽管我使用 sa 登录,但系统给了我一个 访问权限错误 到文件夹 /var/opt/mssql/data/ (其中.bak 文件驻留)。

错误信息是: Cannot access the specified path or file on the server. Verify that you have the necessary security privileges and that the path or file exists.

我已经检查了该文件夹的访问权限,它已正确设置给用户 mssql,事实上如果我使用 SSMS 2014,使用相同的登录名,我可以毫无问题地恢复该数据库。

我想知道它是否毕竟不是 SSMS 2017bug

顺便说一句,我的配置是:

服务器:

客户:

感谢您的帮助!

似乎仍然无法通过 UI 恢复数据库。但是,部分使用 UI,我采用了这个老式的解决方法:

  • 打开 SSMS 2017 并连接到数据库
  • 打开一个新查询window
  • 在继续之前将您的 .bak 文件放入机器中
  • 运行 此命令从您的 .bak 获取 数据库和日志文件列表 文件,在我的环境中是:RESTORE FILELISTONLY FROM DISK = '/var/opt/mssql/backup/Northwind.bak'
  • 记下数据库名、数据库文件名、日志文件名及其逻辑名,供下一步使用

  • 运行这条命令恢复数据库 RESTORE DATABASE NORTHWND FROM DISK = '/var/opt/mssql/backup/Northwind.bak' WITH MOVE 'Northwind' TO '/var/opt/mssql/data/NORTHWND.mdf', MOVE 'Northwind_Log' TO '/var/opt/mssql/data/NORTHWND_Log.ldf' GO

  • 好了,数据库恢复成功!

  • 因此,请务必在 运行 和 RESTORE DATABASE 之前使用正确的名称。

我不断深入寻找正确的解决方案,目前这对我来说已经足够了。