Ubuntu 18.04上的SQL Server操作系统错误2(系统找不到指定的文件。)

时间:2018-09-03 07:57:29

标签: sql-server ubuntu sqlcmd

我正在尝试使用:BACKUP DATABASE [mydb] TO DISK = N'/path/to/file.bak' WITH NOFORMAT, NOINIT, NOSKIP, REWIND, NOUNLOAD, STATS = 10

在sql服务器上备份数据库

如果路径为/var/opt/mssql/data/file.bak无法在任何其他位置创建备份,则会创建备份。这是权限问题吗?有没有人面对过同样的事情? 预先感谢。

1 个答案:

答案 0 :(得分:1)

Linux(在Ubuntu上)上的SQL Server在用户mssql下运行。如果希望SQL Server能够写入该文件夹,则用户/组mssql需要向该文件夹(并且能够读取/执行任何父文件夹)写入访问权限,mssql用户需要成为可以的组的一部分,或者需要将其他人的权限设置为可写。同样,所有父文件夹都需要允许访问(读取/执行)。

例如,如果您拥有一个文件夹/backups,该文件夹由root:拥有,并且具有770的权限,然后是一个文件夹/ backups / SQLServer / owned by root:mssql with the permission 775 , then SQL Server would be unable to write to the folder, as it wouldn't have been able to navigate to the folder /备份`。