非常に簡単な背景:CLRストアドプロシージャを使用して、Active Directoryを使用してクエリ結果にアクセス制御を適用し、エンドユーザーが表示できる内容を制限しています。簡単に言うと、これは、ユーザーが結果(この場合はドキュメント)にアクセスするための基準を満たさないデータテーブルから行を削除することによって行われます。
このフィルタリングは、結果を表示する前にクライアントで以前に実行されていました。SQL 2008とはるかに強力なサーバーは、このアクセスフィルタリングをクライアントから移動する動機です。
私が疑問に思っているのは、「インライン」T-SQLをコマンドオブジェクト(この場合は)に渡す代わりに、CLRストアドプロシージャから元の通常のT-SQLストアドプロシージャを呼び出すことでパフォーマンスが向上することです。ストアドプロシージャが作成された元のT-SQLだけですか?誰かがこれについて言及している場所はどこにも見つかりません(おそらく、CLR SPの例として非常に混乱するためです:-))。T-SQLストアドプロシージャはすでに最適化およびコンパイルされているので、あなたはそうかもしれませんか?
誰かが私のためにこれを確認することができますか?
私が十分に明確になったことを願っています。どうもありがとう、
コルム。