2011-01-08 9 views
4

CLRアセンブリを含むデータベースをある物理サーバーから別の物理サーバーに復元しました。 CLRアセンブリ内の関数の1つは、圧縮されたデータの圧縮を基本的に行います。復元されたデータベースのデータに対してこの関数を実行すると、非圧縮データではなく圧縮データが返されます。 SSMSまたはSQL Serverのエラーログにはエラーはスローされません。他の人の提案では、私はデータベースの所有権(どちらもsaによって所有されている)、信頼性(両方とも信頼性がないと設定されている)の違いを確認しました。また、.NET Frameworkの違いを両方のマシンにインストールしてみましたが、ターゲットマシンに1.1のバージョンがインストールされていて、ソースがインストールされていないことがわかりました。私は他に何を試していいのかわかりません。どんな提案も大歓迎です。前もって感謝します。復元されたデータベースでCLR関数が機能しない

ありがとうございました。ベン

+1

CLRアセンブリを新しいコンピュータで実行できるようにするSQL Serverはありますか? –

+0

@アードマンそれは良い質問です。私はsys.configurationsの 'clr enabled'値もチェックしたことを忘れていました。両方のサーバーで1に設定されています。 –

答えて

1

わかりました。私は今や愚かです。問題は、SQL CLRを使用する代わりにデータベースに送信する前に、アプリケーション側でデータを圧縮するようにアプリケーションに変更が加えられたことが判明しました。データの書き込みを担当するストアドプロシージャは更新されていないため、既に圧縮されたデータを圧縮して格納していました。だから、私はそれを圧縮解除するために行ったとき、それは私に圧縮されたデータを戻していました。私が圧縮解除機能を再度実行したなら、それは私に正しいことを与えてくれたでしょう。

関連する問題