【问题标题】:Cannot restore a database with SSMS 2017 over MSSQL vNext Ubuntu 16.04无法通过 MSSQL vNext Ubuntu 16.04 使用 SSMS 2017 还原数据库
【发布时间】:2017-04-28 15:05:37
【问题描述】:

我刚刚安装了最新版本的 Sql Server Management Studio 2017 (v17.0),以便在 上连接到全新的 SQL SERVER 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 2017错误

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

服务器:

  • Ubuntu 16.04 使用 Vagrant + VirtuaBox 虚拟化
  • Sql Server vNext

客户:

  • Windows 7 SP1
  • SSMS 2017(v17.0 build 14.0.17099.0)(不起作用)
  • SSMS 2014(有效!)

感谢您的帮助!

【问题讨论】:

    标签: vagrant ssms ubuntu-16.04 database-restore sql-server-vnext


    【解决方案1】:

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

    • 打开 SSMS 2017 并连接到数据库
    • 打开一个新的查询窗口
    • 在继续之前将您的 .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 之前使用正确的名称。

    我一直在寻找正确的解决方案,目前这对我来说已经足够了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 2021-07-10
      • 2017-03-16
      • 2018-08-16
      相关资源
      最近更新 更多