ネットワークドライブ上のCSVファイルにいくつかのテーブルを転送するSSISパッケージがあります。それは私のコンピュータから手動で正常に動作します。サーバーのMSDBデータベースに保存し、そこから実行すると正常に実行されますが、MSDBからSSISパッケージを実行する1つのステップを持つジョブを作成すると、CSVファイル名が見つからないと表示されません。
私は昨日一日中過ごしました。これは、ジョブで使用されているログオンクレデンシャルに関係するアクセス許可の問題を意味することを理解しています。ジョブの所有者はdomain/myuseridであることが示され、ステップのプロパティは、私のユーザー名でWindows認証を使用していることを示しています。問題は、私がこのフォルダにアクセスできることを知っていることです。
エラーログの最初の行には、「ユーザーとして実行:servername\SYSTEM」と記載されています。そのため、ユーザー「SYSTEM」がファイルをロードしたいネットワークフォルダにアクセスできることを確認しましたが、それでも同じエラーが発生します。
コマンドラインは、@ command = N'/ SQL "\ SSIS package name" / SERVER servername / CHECKPOINTING OFF /REPORTINGE'のようになります。
編集:SQL Serverエージェントのジョブアカウントの問題を見つけました。誰かがジョブの実行先を尋ね、marc_sが「実際にはその答えを見つけることができないようです。私のジョブは通常データベース内のものを選択して更新するためです。 、特定のステップで他のアカウントを指定しない限り、デフォルトで「所有者」アカウントが使用されると想定します。」
これはまた、アクセス権を持つ私のログオン情報を使用していると私に信じさせます