2011-02-06 7 views
4


私は、Microsoft SQL Serverにロードされたカスタム.NETアセンブリに転送する方がよいと考えていました。これを使用する企業は、SQL Server Enterprise Editionのみを使用するため、機能のサポートに問題はありません。SQL Server 2008のCLRアセンブリの制限事項を教えてください。

質問は
実際には良いアイデアですか?

  • マルチスレッド(スレッドの数が処理エンティティ間の最小値、およびコンフィギュレーションファイルに設定された最大数になります:
    は、私はのような機能を使用できるようにしたいので、この機能をエクスポートします私は指定しなければならない他の上限についてはわかりません)
  • アンマネージドコード(ストリーム処理用のC++ライブラリ)
  • 時にはCOMインターオペラスまたはシェルコマンドです。

正常に動作しますか?私の場合、知っておくべき限界がありますか?

+0

クエリの結果として、またはバックグラウンドプロセスだけで実行するコードを探していますか? – Gabe

+0

これはSQL関数として使用され、単一の値を返すか、またはテーブルに値を代入しますが、システム内の他のアプリケーションによって使用されているビジネスロジックモジュールを参照して使用します。私はこのCLRアセンブリに(ビジネスロジックモジュールの)セットインターフェイスを組み込み、構成ファイルに与えられたパスからビジネスロジックを動的に組み込みたいと考えています。その後、データは抽出され、ビジネスロジックモジュール内で処理されます。複雑だと思われますが、私はそれを冗長にすることはできません。 – AlexanderMP

答えて

2

あなたのリストはすべていくつかの制限があります。 Host Protection Attributesはスレッドの作成にアクセスできますが、Thread.Joinなどへのアクセスは禁止します。msdn

質問は「これを行う必要がありますか」です。私は、データベースサーバに大きな処理負荷をかけ、必要に応じて拡張するのが非常に難しくなるため、アプローチがあまりうまくいかないと思います。私は、SQL Server Reporting Servicesにカスタムアセンブリを追加し、その上で処理を実行する方が良い方法だと思います。スケーラビリティの問題にぶつかると、追加のレポートサービスマシンを追加できます。

Reporting Servicesに読み込まれたアセンブリ内のメソッド&のクラスにも制限はありません。

+0

ありがとうございます。それが助けになりました。たくさん。 – AlexanderMP

関連する問題