• 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'

     
  • 相关阅读:
    Redis简介 安装 注册服务
    Supervisor Linux守护进程
    .Net5 控制台 读取配置文件+依赖注入
    Linux Gdip
    Net Core封装 踩坑
    Apollo 公共Namespace使用json
    Visual Studio 2019修改项目名
    【面向对象】--静态类与非静态类的区别
    win10设置默认中英文符号【程序员标配】
    MySQL 数据库访问驱动-版本问题
  • 原文地址:https://www.cnblogs.com/yachao1120/p/6559032.html
Copyright © 2020-2023  润新知