我尝试复制this代码并将此功能部署到我的服务器。当我尝试创建该函数时,我收到以下消息。这对我来说很奇怪,因为我没有使用任何不安全的资源。
我尝试以执行'dbo'的方式运行它,但这对我没有帮助。我还尝试将AUTHORIZATION
设置为ON
。
尝试加载时,Microsoft .NET Framework中发生错误 程序集ID 65958.服务器可能正在耗尽资源,或
PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE
可能不信任程序集。再次运行查询,或检查文档以了解具体方法 解决装配信任问题。有关此内容的更多信息 错误:System.IO.FileLoadException:无法加载文件或程序集 'exampleaggfunction,Version = 0.0.0.0,Culture = neutral, PublicKeyToken = null'或其依赖项之一。给定的程序集 名称或代码库无效。 (HRESULT异常:0x80131047) System.IO.FileLoadException:
在System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark& stackMark,Boolean throwOnFileNotFound, Boolean forIntrospection,Boolean suppressSecurityChecks)
在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(的AssemblyName assemblyRef,Evidence assemblySecurity,StackCrawlMark& stackMark, Boolean forIntrospection,Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark, 布局forIntrospection)
在System.Reflection.Assembly.Load(String assemblyString)
答案 0 :(得分:1)
我已经解决了同样的问题。
在这里寻找解决方案: http://blogs.msdn.com/b/psssql/archive/2010/03/23/unable-to-load-clr-assembly-intermittently.aspx
将数据库的所有者更改为sa,以保证匹配。
使用your_db_name; 更改DATABASE上的AUTHORIZATION :: your_db_name TO SA; GO
确保每个数据库的db_owner的SID与sys.server_principals和sys.databases匹配: 选择 * FROM [master]。[sys]。[server_principals] - 这里是用户的SID
SELECT * FROM [master]。[sys]。[databases] - 这里有关数据库的信息
它帮助了我。可能对你有用。