Rag*_*gul 0 sql sql-server sqlclr sql-server-2012
我想知道什么时候需要在SQL Server中使用CLR功能.
有人说CLR主要用于完成T-SQL无法完成的任务.但我无法弄清楚T-SQL的一个很好的例子未能给我我的确切输出.
有人可以给我一个通过T-SQL无法实现的确切示例吗?
样品将非常感谢!
询问何时需要 SQLCLR 是错误的思考方式.像大多数其他技术一样,这是完成某些任务和/或解决某些问题的一种方法,但总会有解决方法.真正的问题是何时使用SQLCLR 非常适合解决特定问题.从这个意义上说,有一些事情要么在SQLCLR中更容易做,要么就是在T-SQL中无法完成.
我在下面的文章中发布了一个相当全面的SQLCLR功能列表:SQLCLR的阶梯级别1:什么是SQLCLR?(需要免费注册).由于该网站需要注册,甚至免费注册,我已经在下面复制了该列表.有关每个要点的更详细说明和一些其他信息,请参阅该链接文章.
只能在SQLCLR中完成
在SQLCLR中更容易
性能
比较T-SQL和CLR对象之间的性能是一个更复杂的主题.首先,您实际上只能比较它们之间相同的功能.然后你必须考虑正在完成的逻辑类型,逻辑是否在两种类型的代码中有效地完成,如果比较函数是通过SET语句或多行查询运行,等等.
Microsoft有一些指导(CLR集成的性能),指出什么情况更适合基于CLR的对象.如果您将使用SQLCLR对象,那么您至少应该知道这些信息.然而,这一切都归结为测试,这一切都是可测试的.我在2011年7月对这个主题进行了一些研究,并在此发表了我的发现:https://www.simple-talk.com/sql/t-sql-programming/clr-performance-testing/.
例子
有很多可以做的例子,例如:
有关可以完成的事情的更全面的列表,请查看SQL#库(我是其作者),它具有RegEx函数附带的免费版本等等.还有付费/完整版本,具有额外的文件系统,网络等功能.
有关SQL Server Central(需要免费注册的站点)的各种文章中的其他示例: