0
我有一个非常基本的脚本,可以在本地PC上正常运行。它只是备份一些文件夹及其内容,然后在文件夹名称上添加日期标记。通过SQL Server运行Powershell作业
该脚本备份两个不同服务器上的文件夹(Server2 & Server3)。
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
#Part 1
Copy-Item -Path "\\Server3\Example Location" -Destination "\\Server3\Example Location_$(get-date -f yyyyMMdd)" -Recurse
#Part 2
Copy-Item -Path "\\Server2\Example Location" -Destination "\\Server2\Example Location_$(get-date -f yyyyMMdd)" -Recurse
它完美地运行两个部分在下面的环境中:
- 在我的本地PC
- 当我远程连接到服务器2,右键点击>使用PowerShell
- 运行当我远程连接到服务器2并编辑>运行脚本
但是,当我尝试自动执行此操作并创建一个SQL Se rver代理作业(再次,在服务器2上)只有第2部分实际备份。作业成功完成,但第1部分似乎被忽略(即在服务器2上运行,在服务器3上备份)。
任何想法为什么作为SQL作业运行会导致这种情况?
n.b.作业设置为以“SQL Server代理服务帐户”运行。
您的服务代理帐户可能无法访问服务器3上的文件夹吗? –
运行作业的用户...在\\ Server3上具有权限? – M84