ローカルのPCで正常に動作する非常に基本的なスクリプトがあります。これは単純にいくつかのフォルダをバックアップし、その内容はフォルダ名に日付スタンプを追加します。PowershellをSQL Serverジョブで実行しています
このスクリプトは、2つの異なるサーバー(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
それは、以下の環境で完全に両方の部分を実行します:私はリモートでサーバ2と右クリックに接続するとPowerShellの
- サーバー2に接続し、スクリプトを実行します。
ただし、これを自動化してSQL Seを作成しようとするとrver Agent Job(再びServer 2上)のみパート2が実際にバックアップします。ジョブは正常に完了しましたが、パート1は無視されます(つまり、サーバー2で実行中、サーバー3でバックアップ中)。
SQLジョブとして実行すると、これはなぜですか?
n.b.ジョブは「SQL Serverエージェントサービスアカウント」として実行されるように設定されています。
サービス代理店アカウントがサーバー3のフォルダにアクセスできない可能性がありますか? –
ジョブを実行しているユーザーは\\ Server3の権限を持っていますか? – M84