SQL Serverオブジェクトの転送タスクを含むSSISパッケージを実行したいのですが。関連するサーバーは同じドメイン上にありますが、SQL Serverサービスはローカルサービスアカウントで実行されています。したがって、環境は次のようになります。
ドメイン
サーバー1
- ローカルアカウントで実行されているSQL Server
- ファイルシステム:SSISパッケージ
- SQL Serverエージェント:ジョブ
サーバー2
- ローカルアカウントで実行されているSQL Server
両方のサーバーにログオンできるようにするために、サービスアカウントとして使用するドメインアカウントを作成しました。このドメインアカウントを使用してサーバー1にログオンし、ファイルシステムからパッケージを実行すると、すべての手順が成功します。しかし、SQL Serverにジョブを追加しようとすると、次のいずれかの問題が発生します。
状況1.ジョブの所有者:ローカルアカウント。ドメインアカウントのプロキシとしてSSISステップを実行します。ジョブの所有者をローカルアカウントに設定し、ジョブをドメインアカウントのプロキシとして実行すると、ジョブ自体は正常に実行されますが、パッケージは次のようなエラーをスローします
次のエラーで実行が失敗しました:「ディレクトリ 'LocalApplicationData'は存在しません。」
このエラーは、サーバー1でドメインユーザーの管理者権限を持つログインを作成することで修正できますが、これは明らかに望ましい解決策ではありません。SQL ServerエージェントまたはDTSグループのいずれかにアカウントを追加しても機能しません。
状況2.ジョブの所有者:ドメインアカウント。ドメインアカウントのプロキシとしてSSISステップを実行します。ジョブの所有者とステップの「ユーザーとして実行」の両方をドメインアカウントに設定すると、ジョブがまったく開始されず、次のエラーが発生します。
ジョブの所有者(ドメイン\ドメインユーザー)に
Job name
サーバーアクセスがあるかどうかを判別できません(理由:Windows NTグループ/ユーザー 'ドメイン\ドメインユーザー'に関する情報を取得できませんでした。エラーコード0x5。[SQLSTATE 42000](エラー15404)) 。
最後のエラーは、SQL Serverがローカルアカウントで実行されており、ドメインアカウントの権限を確認できないためだと思います。
ジョブを実行させる正しい方法は何ですか?状況2は私にはきれいに感じられますが、SQL Serverがローカルアカウントで実行されているため、不可能に思えます。状況1でも機能しますが、ドメインユーザーにSQL Serverの管理者権限を与えることはできません。
更新:
@JonSeigelおよび@ Mr.Brownstone:
これは、権限が不足しているために問題が発生していると考えられます。ただし、エラーは存在しない 'LocalApplicationData'(アカウントごとに生成されるフォルダーの1つ)に関するものです。パッケージを実行する資格情報を使用してサーバーにログインし(これにより、プロファイルディレクトリを作成します)、プロファイルディレクトリのアクセス許可のいくつかの組み合わせを試しました。この特定のディレクトリに対するほとんどすべてのアクセス許可を手動で付与する場合でも、上記のエラーが発生します。
さらに調査を行っているときに、http: //www.sqlservercentral.com/Forums/Topic391332-148-1.aspx#bm391441のフォーラムスレッドに遭遇しました。