-1

我正在创建一个作为服务运行的程序,并在白天的某些时间点进行数据库备份(使用 pg_dump.exe)。该服务运行正常,但当您尝试将它们放入网络驱动器时无法进行备份。如果我停止服务并手动运行可执行文件,它工作正常。

这是程序写入命令行以运行备份的示例:

"E:\Program Files\PostgreSQL\9.3\bin\pg_dump.exe" -Ft -f "\\<computer name>\Backups\DBBackup" -U postgres -h <computer name> -p 5432 <Database Name>

我已经尝试使用\\<computer name>\<backup directory>\网络驱动器位置的语法,并且我还尝试在我的计算机上使用驱动器的盘符 ( S:\<backup directory>)。当程序手动运行时,这两个选项都有效,但当它作为服务运行时,这两个选项都不起作用。我尝试在系统事件查看器日志中查找错误,但没有发现任何相关内容。

总而言之,该程序在作为服务运行时会成功备份,但如果它试图将它们写入网络驱动器则不会。当程序手动运行(而不是作为服务)时,它会成功写入网络驱动器。

有人知道为什么会这样吗?

4

1 回答 1

0

我通过使用帐户(特别是网络服务帐户)登录服务来解决问题

于 2014-05-08T20:14:21.190 回答