SQL 服务器在 Ubuntu 18.04 操作系统错误 2(系统找不到指定的文件。)

SQL Server on Ubuntu 18.04 Operating system error 2(The system cannot find the file specified.)

我正在尝试在 sql 服务器上备份数据库:BACKUP DATABASE [mydb] TO DISK = N'/path/to/file.bak' WITH NOFORMAT, NOINIT, NOSKIP, REWIND, NOUNLOAD, STATS = 10

如果路径是/var/opt/mssql/data/file.bak它会创建备份不能在任何其他位置创建备份。这是权限问题吗?有没有人遇到过同样的情况? 提前致谢。

SQL Linux(Ubuntu)上的服务器在用户 mssql 下运行。如果您希望 SQL 服务器能够写入该文件夹,那么 user/group mssql 需要对该文件夹的写入权限(并且能够 read/execute 任何父文件夹) ,mssql 用户需要属于可以写入的组,或者需要设置其他人的写入权限。同样,所有父文件夹都需要允许访问 (read/execute)。

如果您有一个文件夹 /backups,例如,由 root: 拥有,权限为 770,然后文件夹 /backups/SQLServer/root:mssql 拥有] 具有权限 775,然后 SQL 服务器将无法写入文件夹,因为它无法导航到文件夹 /backups.