ローカルPCのSQLServerエージェントジョブからSSIS2005パッケージを実行しようとしています。このパッケージは、リモートサーバー上のSQL Server 2005データベースに接続しようとしていますが、エラーメッセージが表示されますLogin failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
。問題は何ですか?どうすれば解決できますか?
3 に答える
SQL ジョブを作成して start_execution コマンドを実行すると、ジョブを実行しているユーザーの下でプロセスが実行されます。
アプローチはここで説明されています。
問題は、SSIS パッケージが、SQL Server エージェント サービスを実行しているアカウント (ローカル PC の "ローカル システム" または "ネットワーク サービス" アカウントのいずれか) の NT 資格情報で実行され、接続しようとしていることです。 Windows 統合セキュリティを備えたリモート SQL インスタンス。リモート SQL サーバーが接続を許可されているサービス アカウントを認証できないため、これは失敗します。
パッケージを開発したとき、パッケージは NT 資格情報 (リモート SQL サーバーが認証できるドメイン アカウント) を使用してリモート SQL サーバーに接続していました。
最も迅速な修正は、SQL Server エージェント サービスを実行するサービス アカウントを、リモート SQL サーバーに接続する権限を持つドメイン アカウントに変更することです。これが問題であることを証明するために、これに独自のドメイン アカウントを使用できますが、これは実際には長期的な解決策ではありません。
上記が失敗した場合に考慮すべきもう 1 つのことは、「ホップ カウント」です。別のリモート DB に接続しようとしているリモート DB に接続されているローカル マシンから SP を実行しようとすると、. 上記のエラーが発生します。ただし、最初にプライマリ サーバーにリモート接続し、次にリモート接続で SP を実行すると、正常に動作します。