CLR 集成中有哪些新增功能?
适用范围:SQL Server
以下是 SQL Server 2012(11.x)及更高版本中 .NET Framework 公共语言运行时 (CLR) 集成中的新功能:
在 CLR 版本 4 中,CLR 数据库对象不再捕获损坏的状态异常。 这些异常现在在 CLR 集成承载层中捕获。 CLR 数据库组件仍可以通过设置代码属性(<legacyCorruptedStateExceptionsPolicy> 元素)来捕获这些异常。 但是,不建议使用此属性,因为在发生损坏状态异常时,结果不可靠。
由于 SQL Server 中严格的安全要求,CLR 数据库组件继续使用 CLR 版本 2.0 中定义的代码访问安全模型。
在 CLR 版本 4 中,
System.TimeSpan
值中的格式错误生成System.FormatException
错误。 在 CLR 版本 4 之前,System.TimeSpan
值中的格式错误会被忽略。 依赖于 CLR 版本 4 之前的行为的数据库应用程序应使用数据库兼容性级别 100 或更低级别来运行。 有关详细信息,请参阅 <TimeSpan_LegacyFormatMode> 元素。CLR 版本 4 支持 Unicode 5.1。 改进了涉及某些重音标记和符号的排序操作。 如果应用程序依赖于旧排序行为,则可能会出现兼容性问题。 若要启用旧排序,数据库兼容性级别 必须设置为 100 或更低。 为了支持此功能,SQL Server 2012 (11.x) 在 .NET Framework 4 目录中安装
sort00001000.dll
(C:\Windows\Microsoft.NET\Framework\v4.0.30319
)。 有关详细信息,请参阅 <CompatSortNLSVersion> 元素。以下列已添加到 sys.dm_clr_appdomains:
total_processor_time_ms
、total_allocated_memory_kb
和survived_memory_kb
。