0

在服务器集群方案中启用 SQL Server CLR 集成是一种好的做法吗?我组织的政策不允许在其生产服务器上部署 CLR 程序集;DBA 告诉我这是因为 CLR UDF 在进程内运行并且数据库在集群上。

我只是好奇该政策是为了简化数据库管理员(并可能确保所有代码都开放供 DBA 审查),还是有技术原因禁止在服务器集群场景中集成 CLR?线程安全?

相关问题:

(顺便说一句,我的主要用例是字符串操作UDF,如this answer中所述)

4

2 回答 2

1

afaik 集群 sql server 实例和 CLR 集成之间没有关联。SQL Server 充当 CLR 主机。当使用 CLR 功能(例如调用 CLR UDF)时,程序集会从数据库中加载。被动群集节点没有启动 SQL Server 服务,那么它为什么要打扰呢?主动/主动群集将运行两个彼此独立的 SQL Server 实例。一个在节点 1 上处于活动状态,另一个在节点 2 上处于活动状态。

好吧,使用不安全的汇编代码,您肯定会导致问题并关闭 sql server 实例(并使其在集群环境中来回切换)。DBA 不一定了解 .net 编程,可能希望避免处理此类问题。否则,我将看不到这项政策背后的可靠推理可以经得起技术论证。请注意要在 SQL Server 上运行的代码。CLR 代码的安全门背后肯定有一个原因(安全、external_access 和不安全)。

切里奥

于 2012-05-24T13:59:39.830 回答
0

在这里,我发布了一篇文章为什么以及何时应该使用 CLR 集成 [http://www.queryingsql.com/2013/08/net-components-integration-with-sql.html][1] http://www. queryingsql.com/2013/08/net-components-integration-with-sql.html

于 2013-08-31T12:18:14.733 回答