以纤程模式(轻量池)运行 SQL Server 会禁用 SQL CLR:
轻量级池不支持公共语言运行时 (CLR) 执行。禁用以下两个选项之一:“clr enabled”或“lightweight pooling”。依赖 CLR 且在纤程模式下无法正常工作的功能包括层次结构数据类型、复制和基于策略的管理。
另一方面,单独禁用 SQL CLR(不启用轻量级池)不会禁用内置 CLR 类型,如geometry
, 和geography
(尽管hierarchyid
上面提到过),如禁用“CLR”时“HierarchyID”类型如何工作中所示?
现在一些新的语言特性依赖于 CLR ,FORMAT
例如函数:
FORMAT 依赖于 .NET Framework 公共语言运行时 (CLR) 的存在。
以光纤模式运行 SQL Server 是否会禁用该FORMAT
功能和/或使用 CLR 类型?
是的。
在光纤模式下运行时,需要 CLR 的一切都不可用。
例如,两者:
和:
...返回(有点误导)错误消息:
问题在于轻量级池,该
clr enabled
选项的任何设置都不会允许在轻量级池下执行任何类型的 CLR。