0

サーバー クラスター シナリオで SQL Server CLR 統合を有効にすることは良い方法ですか? 私の組織のポリシーでは、CLR アセンブリを運用サーバーに展開することは許可されていません。これは、CLR UDF がインプロセスで実行され、データベースがクラスター上にあるためです。

ポリシーがDB管理者を簡素化することであるかどうか(そしておそらくDBAによるレビューのためにすべてのコードが開かれていることを確認すること)、またはサーバークラスターシナリオでCLR統合を禁止する技術的な理由があるかどうかに興味がありますか?スレッドセーフ?

関連する質問:

(ちなみに、私の主なユースケースは、この回答で説明されているように、文字列操作 UDF です)

4

2 に答える 2

1

クラスター化された SQL Server インスタンスと CLR 統合の間に相関関係はありません。SQL Server は CLR ホストとして機能します。CLR 機能が使用される場合 (CLR UDF の呼び出しなど)、アセンブリはデータベースから読み込まれます。パッシブ クラスタ ノードでは SQL Server サービスが開始されていません。アクティブ/アクティブ クラスターでは、互いに独立した 2 つの SQL Server インスタンスが実行されます。1 つはノード 1 でアクティブになり、もう 1 つはノード 2 でアクティブになります。

安全でないアセンブリ コードを使用すると、確実に問題が発生し、SQL Server インスタンスがダウンする可能性があります (クラスター環境でフェールオーバーを繰り返す可能性があります)。DBA は必ずしも .net プログラミングの手がかりを持っているとは限らず、おそらくそのような問題への対処を避けたいと考えています。そうでなければ、このポリシーの背後にある、技術的な議論に耐えうる確固たる理由が見当たらないでしょう。SQL Server で実行するコードには注意してください。CLR コードのセキュリティ ゲート (safe、external_access、および unsafe) の背後には必ず理由があります。

チェリオ

于 2012-05-24T13:59:39.830 に答える