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