CLRストアドプロシージャを実行しようとすると、次のエラーを受け取ります。どんな助けでも大歓迎です。
Msg 10314, Level 16, State 11, Line 1
An error occurred in the Microsoft .NET Framework while trying to load Assembly id 65752. The server may be running out of resources, or the Assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE. Run the query again, or check documentation to see how to solve the Assembly trust issues. For more information about this error:
System.IO.FileLoadException: Could not load file or Assembly 'orders, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An error relating to security occurred. (Exception from HRESULT: 0x8013150A)
System.IO.FileLoadException:
at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)
以下のSQLコマンドを実行すると、問題は解決したようです。
USE database_name
GO
EXEC sp_changedbowner 'sa'
ALTER DATABASE database_name SET TRUSTWORTHY ON
任意のCPU構成でプロジェクトをビルドします。 x86構成で自分のプロジェクトをコンパイルし、x64 SQLサーバーで実行しようとしたときに、この問題が発生しました。
上記の提案をすべて適用したが失敗した。次に、「Any CPU」オプションを使用してソースコードを再コンパイルしました。
このリンクが役立ちました: SQL ServerはPERMISSIONでのアセンブリのロードに失敗しました
ALTER AUTHORIZATION ON DATABASE::mydb TO sa;
ALTER DATABASE [myDB] SET TRUSTWORTHY ON
GO
アセンブリはファイルI/Oを行いますか?その場合は、これを行うためのアセンブリ権限を付与する必要があります。 SSMSの場合: