将SQL Server数据库从bak文件还原到不同的分区(权限被拒绝)

时间:2017-06-30 07:43:14

标签: sql-server ubuntu permissions database-restore

在Ubuntu 17.04上,我在/var/opt/mssql/backup/中有一个.bak文件,我试图将其恢复到一个单独的分区,因为我安装了SQL Server的分区没有足够的空间将数据库恢复到

我收到如下错误:The operating system returned the error '5(Access is denied.)' while attempting 'RestoreContainer::ValidateTargetForCreation' on '/media/<my-user-name>/<some-folder>/<mdf-file>.mdf'.

我尝试使用chmodchown来更改第二个分区上该文件夹的权限,但我没有把它完全正确,因为我仍然得到了错误。

  • 用户尝试在第二个分区中写入该文件夹的内容是什么?
  • 如何获得该用户帐户成功将数据库还原到该文件夹​​的权限?

我通过一个球童连接了第二个硬盘,并且能够执行此任务没问题。但是一旦我在内部安装了ssd,Ubuntu就不允许这次我在SQL Server CLI中使用的任何用户帐户了。

谢谢!

更新

我将第二个分区/ ssd的所有者更改为mssql,现在我有权将数据库还原到此位置。我会假设,如果整个ssd的所有者是mssql,我可能会在其他事情上使用此ssd获得其他权限问题。有没有办法配置这个,以便我的个人用户帐户以及mssql拥有足够拥有该文件夹的权限?我不认为两个不同的帐户可以拥有一个文件夹,但是有没有办法允许多个帐户有足够的权限来执行这些操作?

2 个答案:

答案 0 :(得分:0)

我不会假装对此有所了解,但在尝试将网络虚拟机上的.bak恢复到本地设备时遇到了权限问题,当我将其添加到带有7的.zip时,它有效-share,然后将其复制到我想要的位置并将其解压缩。

当我尝试移动它而没有压缩时我有权限问题,据我记得当我使用send到压缩(zipped)文件夹时仍然遇到此问题。我不确定为什么,也许别人可以详细说明

答案 1 :(得分:0)

我通过删除旧数据库,创建一个新数据库并将备份恢复到新数据库来解决问题。

我的问题可能是因为我在MS SQL Server的evalutation版本中创建了数据库,我想在新版本的开发人员版本中通过备份重写它。