通过SQL Server作业运行Powershell
我有一个非常基本的脚本,可以在本地PC上运行。它只需备份一些文件夹及其内容,然后在文件夹名称上添加日期戳 该脚本备份两个不同服务器(Server2和Server3)上的文件夹 它在以下环境中完美运行这两个部分:通过SQL Server作业运行Powershell,sql,sql-server,powershell,database-administration,Sql,Sql Server,Powershell,Database Administration,我有一个非常基本的脚本,可以在本地PC上运行。它只需备份一些文件夹及其内容,然后在文件夹名称上添加日期戳 该脚本备份两个不同服务器(Server2和Server3)上的文件夹 它在以下环境中完美运行这两个部分: 在我的本地PC上 当我远程连接到服务器2并右键单击>使用PowerShell运行时 当我远程连接到服务器2并编辑>运行脚本时 但是,当我尝试自动执行此操作并创建SQLServer代理作业(同样,在Server2上)时,实际上只有第2部分进行了备份。作业成功完成,但第1部分似乎被忽略(
- 在我的本地PC上
- 当我远程连接到服务器2并右键单击>使用PowerShell运行时
- 当我远程连接到服务器2并编辑>运行脚本时
话虽如此,如果您的SQL Server代理服务帐户无权访问\Server3。。。文件夹,复制将失败,如上所述,不会向调用的SQL代理作业传输任何错误消息。是否可能是您或服务代理帐户无权访问服务器3上的文件夹?运行作业的用户。。。是否对\\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