有人在SQL Server 2005/2008中使用CLR吗?

Microsoft增加了在SQL Server 2005中使用.Net CLR存储过程的能力。是否有人使用CLR来实现这个function? 如果是这样,为什么? 如果没有,为什么不呢?

您可能会在StackOverflow.com上获得更好的答案。 这里是一个SOsearch链接 ,将带来一些有关SQL和CLR的有趣问题。

这就是说,我们正在使用它。 在决定a)启用CLR和b)select你的代码之前,你需要注意的问题有很多。 从dba的angular度来看,这里有一篇关于CLR集成安全性的Technet文章,讨论了很多。 文章地址中的具体主题:

  • CLR集成代码访问安全性
  • 主机保护属性和CLR集成编程
  • CLR集成安全中的链接
  • 模仿和CLR集成安全性
  • 允许部分受信任的呼叫者
  • 应用程序域和CLR集成安全性

我用它来创build一个称为存储过程的报告,并自动将结果写出到文本文件中。 它基本上取代了在sql报告服务中的“另存为文本文件”导出…我们喜欢在这里繁殖懒惰的用户。

在学术上,这听起来比它好。 在生产环境中 – 至less在我们的情况下 – 很快就成了一场噩梦。 我们使用基于DBGhost的数据库升级过程,CLR一直在我们的方式。 我们现在避免像瘟疫一样。

不知道你是否仍然对这个问题感兴趣,但是…是的,我们已经build立了一个专门用于使用CLR的SQL Server的财务,统计,math,工程和string函数库 – 共450个人function和计数。 我们的主要动机是将逻辑从应用程序层移到DBMS中:减lessnetworking开销,提高处理速度并处理更好的数据。 当然,为了减less这些(着名的)Excel切割/粘贴灾难。 在某些情况下,你可能在T-SQL中完成这项工作,但是debugging可能会让你疯狂。 那么还有一些其他的情况下,没有CLR就无法实现这些function。