【发布时间】:2018-03-29 02:44:50
【问题描述】:
我有一个 CLR 函数,我想使用 permission_set = unsafe 进行部署
程序集使用公钥/私钥文件进行签名,我创建了一个assymtric key,使用该asymmetric key 创建了一个login,并授予了unsafe 程序集的登录权限
如果我想部署程序集,是否可以只执行 ./bin/debug 下的 .publish.sql 来部署 CLR 程序集 .dll?
提前致谢
【问题讨论】:
-
是的,如果发布配置配置正确,您可以(我的意思是没有像这样忽略 CLR 或 smf)
-
@DmitrijKultasev 是不是像在SSMS中打开文件然后点击执行一样简单?我不需要告诉它公钥/私钥在哪里。
-
如果您不知道如何执行此操作,则不应该部署不安全的程序集。您可能不需要它们,例如您不应该尝试从 SQLCLR 发送电子邮件。或者使用它来加载 CSV 文件。或执行查询。或任何其他应由 SQL Server 代理、SSIS、外部工具执行的操作。任何浪费的 RAM 或 CPU 周期都会从服务器的内存和 CPU 资源中获取,从而损害性能
-
@Cool_Br33ze 这个程序集是做什么的?为什么是 SQLCLR 程序集以及为什么不安全?
-
@PanagiotisKanavos 使用 .NET 方法将 GridRefs 转换为 LatLongs,反之亦然,
Unsafe因为我收到错误在安全程序集中不允许存储到静态字段。
标签: sql-server sql-server-2008-r2 sql-server-data-tools sqlclr