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'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM