SQL Server 2008的CLR程序集有哪些限制?

时间:2011-02-06 20:52:42

标签: sql-server-2008 clr


我正在计划一些计算量很大的报告,我认为最好转移到加载到Microsoft SQL Server的自定义.NET程序集。使用它的公司将只使用SQL Server Enterprise版本,因此功能支持没有问题。

问题是:
这实际上是个好主意吗? 我想导出此功能,因为我希望能够使用以下功能:

  • 多线程(处理实体之间的线程数最小,配置文件中设置的最大数量。我不知道我应该指定的任何其他上限。)
  • 非托管代码(用于流处理的C ++库)
  • 有时甚至是COM Interop或shell命令,尽管这种可能性较小。

他们会工作得很好吗?在我的情况下,我应该知道有任何限制吗?

1 个答案:

答案 0 :(得分:2)

您列出的所有内容都有可能存在一些限制。主机保护属性允许访问创建线程,但禁止访问Thread.Join等。在msdn上了解更多相关信息

现在的问题是“你应该这样做吗?”我认为这种方法不是很合理,因为它会给你的数据库服务器带来很大的处理负担,如果需要的话很难扩展。我认为更好的方法是将自定义程序集添加到SQL Server Reporting Services并让处理在那里进行。如果遇到可伸缩性问题,可以添加其他报告服务计算机。

方法和方法也没有限制。 Reporting Services中加载的程序集中的类。