【发布时间】:2018-06-08 11:27:27
【问题描述】:
我们希望使用 tSQLt 测试框架来实施单元测试。前提条件是必须使用此命令启用 SQL CLR:
EXEC sp_configure 'clr enabled', 1; RECONFIGURE;
我很想知道 SQL CLR 的目的是什么以及在生产环境中启用它的风险?
【问题讨论】:
-
当单独的 T-SQL 不足以满足所需功能时,需要 SQLCLR。在 tSQLt 的情况下,它使用 CLR 对象来提供 T-SQL 语言无法实现的单元测试功能。启用 CLR 确实会增加表面积,因此只应在需要时启用它。不过,不确定为什么要在生产中运行单元测试。最好在 prod 中禁用它并在测试环境中运行单元测试。
-
我完全同意@DanGuzman re:不在生产环境中进行单元测试。这似乎是一个等待发生的问题,不管 SQLCLR。
标签: sql-server sqlclr tsqlt