良い一日、
1 つの同一の T-SQL ステップを実行する SQL 2005 インスタンスに 2 つのジョブがあります。このステップでは、リモートの 2005 インスタンスに対してクロス サーバー クエリを実行します。ジョブ間の唯一の違いは、1 つはシステム管理者によって所有され、もう 1 つは所有されていないことです。
sysadmin が所有するジョブはエージェントの起動アカウントで実行され、sysadmin が所有しないジョブはジョブ所有者のアカウントで実行されます。ここまでは順調ですね。
ただし、sysadmin が所有するジョブは、TCP/IP を使用してリンク サーバーに接続しようとし、もう 1 つは名前付きパイプを使用して接続しようとします。これは、sysadmin 以外のジョブが名前付きパイプ接続エラーで失敗するためです。名前付きパイプは Kerberos をサポートしていないため、名前付きパイプ経由で接続したくありません。構成されているリンク サーバーは 1 つだけであるため、両方のクエリがそれを使用しており、ネットワーク プロトコルに関連するリンク サーバーに設定するプロパティはありません。
接続を成功させたい場合、リモートサーバーが名前付きパイプをリッスンする必要があることは理解していますが、それは私の質問ではありません。私の質問は、sysadmin アカウントが TCP/IP を使用して接続しようとし、sysadmin 以外のアカウントが名前付きパイプを使用して接続しようとするのはなぜですか?
私はこれを再現し続けているので、まぐれではありません (少なくとも私の環境では)。いくつかの構成設定がありませんか? 誰でもこれを説明できますか?
本当にありがとう。