【问题标题】:How to disable "clr strict security" in SQL Server如何在 SQL Server 中禁用“clr 严格安全”
【发布时间】:2023-03-17 07:56:01
【问题描述】:

我通过运行启用了 clr 集成(即 SQLCLR):

EXEC sp_configure 'clr enabled', 1;  
RECONFIGURE;  

现在当我尝试时:

EXEC sp_configure 'clr strict security', 0;
RECONFIGURE;

我收到一条错误消息,提示该设置不存在:

消息 15123,级别 16,状态 1,过程 sp_configure,第 62 行

配置选项“clr strict security”不存在,或者可能是高级选项。

我知道我的问题的正确解决方案是对包含存储过程的程序集进行签名,以允许它以严格的安全性运行,但现在我需要快速而肮脏的修复。

【问题讨论】:

  • 您是否先启用高级选项设置?
  • 我还假设您没有在 Linux 上使用 SQL Server
  • 你运行的是什么版本?这是 2017 年以上的设置。
  • “15.02070”?最新版本是 15.0.4013.40。我们甚至还没有使用 15.1 版本,更不用说 15.2070。
  • 你好 jakubiszon。您能否用确切的错误号(即“Msg XXXX ...”)更新问题,也许还有错误文本?在发布一般错误时,最好包含错误消息或代码,因为有很多不同的错误。这有助于人们更快地找到特定错误的答案。在这种情况下,如果没有错误信息,您实际上只是复制了official documentation,它指出这是一个高级选项。谢谢:-)

标签: sql-server configuration sqlclr


【解决方案1】:

启用高级选项解决了我的问题:

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;

EXEC sp_configure 'clr strict security', 0;
RECONFIGURE;

现在我可以创建程序集了。

【讨论】:

  • 您好。仅供参考:前两条语句(即启用“clr enabled”)实际上与禁用“clr strict security”无关,因此可能应该删除。谢谢。
  • 第二个使得第三个可以运行而不抛出异常
  • 对不起,如果我不清楚。我有点字面意思,前两个语句是第一个 EXEC 和第一个 RECONFIGURE
  • 感谢您删除不相关的陈述:)
  • 在我的 sql14 实例上为我工作,但不再需要 sql 19+
猜你喜欢
  • 2017-10-20
  • 2012-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多