如何在 SQL Server 2017 中创建 CLR 用户定义函数

问题描述

我有一个 sql Server 数据库项目(sqlproj 文件),其中我引用了一个程序集,其中包含每个 https://docs.microsoft.com/en-us/sql/relational-databases/clr-integration-database-objects-user-defined-functions/clr-user-defined-functions?view=sql-server-2017用户定义聚合函数

在执行此操作之前,我无法部署或使用我的函数

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

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

...还有:

EXEC sp_configure 'clr enabled','1';  
RECONfigURE;    

一路上,我尝试对程序集进行签名(在 pfx 中生成自签名证书),但无法弄清楚如何让 sql Server 信任该证书。

据我所知,我所做的对于本地开发部署来说是可以接受的,但这不是部署到实时环境(或推送到 Azure 数据库服务)的正确方法

我看过一些建议,建议部署到旧版本的 sql Server 以提取程序集的哈希值,以便在建立信任的命令中使用;这对我没有用,因为我只有 sql Server 2017 并且无意安装 2008 之类的东西只是为了提取哈希。

要成功地使用我的数据库部署我的自定义程序集并以“正确的方式”建立信任,我必须执行的步骤顺序是什么,每个步骤究竟完成了什么?我的部分问题是对每个必需步骤的需求、目的、副作用和“意义”缺乏明确性。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)