首页 > 解决方案 > Powershell 复制脚本适用于我的桌面和服务器,但不适用于 SQL 代理

问题描述

我正在尝试将数据库备份从我们的 Prod 服务器复制到我们的 BCP 服务器。以下脚本在我的桌面和服务器上成功运行,在 PowerShell ISE 中,以 SQL 代理作业属性的运行方式字段中设置的相同帐户运行。

但是,当我尝试通过 SQL 代理作业运行它时,它失败了。

版本 1

$backuppath = "\\ProdServer\Prod_Backups\msdb\FULL" $destpath = "\\BCPServer\Prod_Backups\" Get-ChildItem -path $backuppath | 排序对象-Property $_.CreationTime | 选择对象-last 1 | 复制项目 -Destination $destpath

版本 1 错误:

作业脚本遇到以下错误。这些错误并未停止脚本:作业步骤在 PowerShell 脚本的第 5 行收到错误。对应的行是'Get-ChildItem -path $backuppath | '。更正脚本并重新安排作业。PowerShell 返回的错误信息是:'找不到路径'\ProdServer\Prod_Backups\msdb\FULL',因为它不存在。

版本 2

$backuppath = "Microsoft.PowerShell.Core\FileSystem::\\ProdServer\Prod_Backups\msdb\FULL" $destpath = "Microsoft.PowerShell.Core\FileSystem::\\BCPServer\Prod_Backups\" Get-ChildItem -path $backuppath | 排序对象-Property $_.CreationTime | 选择对象-last 1 | 复制项目 -Destination $destpath

版本 2 错误:

作业步骤在 PowerShell 脚本的第 5 行收到错误。对应的行是'Get-ChildItem -path $backuppath | '。更正脚本并重新安排作业。PowerShell 返回的错误信息是:'Invalid Path: 'Microsoft.PowerShell.Core\FileSystem::\BCPServer\Prod_Backups\'。

标签: powershellsql-agent-jobsql-agent

解决方案


推荐阅读