非常に奇妙な問題があります。
一連のデータを返すストアド プロシージャがあります。この手順はかなり複雑な結合と集計を行うため、実行に 700 ミリ秒かかります。
SQL Studio で直接呼び出された場合、プロシージャは常に正しい値を返し、常に約 700 ミリ秒の時間がかかります。
ただし、クライアント ソフトウェア (C# または Excel) 経由で呼び出すと、しばらくは機能しますが、突然、手順に 30 秒 (!) かかり、タイムアウトになります。ディスクの読み取り回数は正常ですが、CPU は上昇しています。
この動作は 1 ~ 2 時間続き、その後は正常に戻ります。この間、プロシージャがこの動作を示した場合でも、SQL Studio でプロシージャを実行できます。また、他のより単純な手順も、クライアントで呼び出されたときに通常どおり実行されます。
プロファイラーで呼び出しを確認しました。クライアント経由で呼び出す場合、呼び出しは「RPC」としてマークされ、SQL Studio で呼び出す場合は「SQL」となります。
したがって、おそらく手順は正常に実行されますが、RPC を介したデータ転送が何らかの理由でハングしています。しかし、これは推測にすぎません。
誰かアイデアがありますか、または私たちに何らかの方向性を示すことができますか? どこを見たらいいのかわからない。イベントログも空です。