我试图在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
无法在任何其他位置创建备份,则会创建备份。这是许可问题吗?有人遇到过同样的问题吗?提前致谢。
Linux上的SQL Server(在Ubuntu上)在用户mssql
下运行。如果您希望SQL Server能够写入该文件夹,那么用户/组mssql
需要对该文件夹的写访问(并且能够读取/执行任何父文件夹),mssql
用户需要成为该组的一部分。可以,或者其他人的权限需要设置为写入。同样,所有父文件夹都需要允许访问(读/执行)。
如果你有一个文件夹/backups
,例如,root:
拥有权限770
,然后是文件夹/ backups / SQLServer / owned by
root:mssqlwith 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
/ backups`。