SQL エージェント ジョブから呼び出される DTSX パッケージがあります。
DTSX パッケージは、固定の場所 (e:\mssql\myfile.txt など) にあるファイルを参照します。
ほとんどのマシンにはこの場所が存在しますが、一部のマシンではこれを手動でマッピングする必要があります (これは問題ではありません - パッケージ構成を使用してファイルの場所を動的に取得する方が良いことはわかっていますが、ここではオプションではありません -とにかく何が起こっているのか理解したい)
特定のユーザー (例: myuser )として実行するようにエージェント サービスをセットアップしました。
このユーザーとしてログオンしてディレクトリをマップし、dtsx パッケージを直接実行すると、すべてうまくいきます。
SQL エージェント ジョブを使用してパッケージを実行すると、ファイルが見つかりません。ドライブをマップするエージェント ジョブにコマンド ライン ジョブ ステップを追加すると、次のようになります。
net use e: \\svr\location
次に、すべての作品ファイルも。
では、バックグラウンドで何が起こっているのでしょうか? このユーザーとしてログインしている場合でも、SQL エージェント ユーザーがドライブ マッピングを要求するのはなぜですか。