Sql 问题---在尝试加载程序集 ID 65537 时 Microsoft .NET Framework 出错.服务器可能资源不足

新库是直接复制的模板库

执行存储过程时报如下错

消息 10314,级别 16,状态 11,过程sp_Sync_CmsArticleToSearchs,第 30 行在尝试加载程序集 ID 65645 时 Microsoft .NET Framework 出错。服务器可能资源不足,或者不信任该程序集,因为它的 PERMISSION_SET 设置为 EXTERNAL_ACCESS 或 UNSAFE。请重新运行查询,或检查有关的文档了解如何解决程序集信任问题。有关此错误的详细信息: 

System.IO.FileLoadException: 未能加载文件或程序集“csharpclslibforsqlserver, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。发生与安全有关的错误。 (异常来自 HRESULT:0x8013150A)

————————————————————————————————————————————————————————————————————————

度娘给的方案是:

在还原数据库之后,我们可以将数据库的OWNER设置成SA.
exec sp_changedbowner 'sa'
再调用存储过程就是成功的.

 

————————————————————————————————————————————————————————————————————————

实际上则是问题依旧

然后就开始根据错误提示来找问题!

首先是服务器可能资源不足, 这个问题可以排除,那么会不会是服务器不信任该程序集呢

在相看数据库的属性时,在选项处看到有一属性为 可信 的值是 False。那么会不会是这个问题引起的呢?

结果将数据库设置可信为true后果然问题得到了解决


 

——————————————————————————————————————————————————————————

1. exec sp_configure 'show advanced options', '1';
Go
reconfigure;
go
exec sp_configure 'clr enabled', '1'
go
reconfigure;    --如果执行失败,就用这个RECONFIGURE WITH OVERRIDE;
exec sp_configure 'show advanced options', '1';
go
 
2.查SID在sys.databases 和sys.server_principals是否一致
SELECT * FROM sys.server_principals;
SELECT * FROM sys.sysdatabases ;


3.查看程序集是否存在
SELECT * FROM sys.assemblies;SELECT * FROM sys.assembly_files;


4. 修改为ON
ALTER DATABASE tablename SET TRUSTWORTHY on;


5.注意所有者
exec sp_changedbowner 'sa'

 
posted @   小猫钓鱼吃鱼  阅读(3981)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示