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

mba*_*n94 3 sql-server ubuntu sqlcmd

我正在尝试使用以下命令备份 sql server 上的数据库:BACKUP DATABASE [mydb] TO DISK = N'/path/to/file.bak' WITH NOFORMAT, NOINIT, NOSKIP, REWIND, NOUNLOAD, STATS = 10

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

use*_*983 5

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

/backups例如,如果您有一个 Folder ,其拥有者是root:with the permissions 770,然后是一个/backups/SQLServer/拥有者root:mssqlwith the permission的文件夹775,则 SQL Server 将无法写入该文件夹,因为它无法导航到该文件夹/backups.