Loading...

三愛情報ブログ

三愛情報の日々の活動を掲載しております。

2009年2月24日 更新

技術情報

TRUSTWORTHY

SQLCLR で開発している。 開発では問題無いのだが、テストサーバーへアセンブリを配置して実行したところ、以下のエラーが出た。

——————————————————————————–
メッセージ 10314、レベル 16、状態 11、行 80
アセンブリ ID 65591 をロード中に Microsoft .NET Framework でエラーが発生しました。
サーバーのリソースが不足しているか、PERMISSION_SET が EXTERNAL_ACCESS または UNSAFE に設定されていて、
アセンブリが信頼されていない可能性があります。
クエリを再実行するか、アセンブリの信頼関係の問題を解決する方法をマニュアルで確認してください。
このエラーの詳細:System.IO.FileLoadException:
ファイルまたはアセンブリ ‘XXX99999, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null’、
またはその依存関係の1 つが読み込めませんでした。
セキュリティに関連したエラーが発生しました。
(HRESULT からの例外: 0x8013150A)
System.IO.FileLoadException:
場所 System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase,
Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark,
Boolean throwOnFileNotFound, Boolean forIntrospection)
場所 System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef,
Evidence assemblySecurity, StackCrawlMark& stackMark, BooleanforIntrospection)
場所 System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity,
StackCrawlMark& stackMark, BooleanforIntrospection)
場所 System.Reflection.Assembly.Load(String assemblyString)
——————————————————————————–

さてさて、これは一体なんでしょうか?

色々調べてみると、デタッチしてアタッチすると上記エラーが出ることがあるそうな。
——————————————————————————–
ALTER DATABASE [<DB名称>]
SET TRUSTWORTHY ON
GO
——————————————————————————–
を再度実行すると、正しく動作しました。

アタッチすると、TRUSTWORTHY の設定が初期化されてしまう・・・。
それって、デタッチ&アタッチでデータベースがコピー出来る利点から外れていませんか・・・。

三愛情報 株式会社

〒510-0074 三重県四日市市鵜の森1丁目10番7号

電話番号: 059-359-0561