我正在尝试使用:BACKUP DATABASE [mydb] TO DISK = N'/path/to/file.bak' WITH NOFORMAT, NOINIT, NOSKIP, REWIND, NOUNLOAD, STATS = 10
如果路径为/var/opt/mssql/data/file.bak
无法在任何其他位置创建备份,则会创建备份。这是权限问题吗?有没有人面对过同样的事情?
预先感谢。
答案 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
/备份`。