CLR 集成 - 新增功能

适用于:SQL Server

以下是 SQL Server 2012 (11.x) 中 CLR 集成的新功能:

  • 在 CLR 版本 4 中,CLR 数据库对象不再捕获损坏的状态异常。 这些异常现在在 CLR 集成承载层中捕获。 通过设置代码属性(<legacyCorruptedStateExceptionsPolicy> 元素),CLR 数据库组件仍可捕获这些例外。 但是,我们建议不要这样做,因为损坏的状态异常发生时结果不可靠。

  • 由于 SQL Server 2012 (11.x) 严格的安全要求,CLR 数据库组件将继续使用 CLR 版本 2.0 中定义的代码访问安全性模型。

  • 在 CLR 版本 4 中,如果 System.TimeSpan 值中有格式错误,则将生成 System.FormatExceptions。 在 CLR 版本 4 之前,System.TimeSpan 值中的格式错误则被忽略。 依赖于 CLR 版本 4 之前行为的数据库应用程序应使用 100 或更低的数据库兼容性级别 (ALTER DATABASE Compatibility Level) 来运行。 有关详细信息,请参阅 <TimeSpan_LegacyFormatMode> 元素

  • 版本 4 的 CLR 支持 Unicode 5.1。 将会改善涉及一些重音记号和符号的排序操作。 如果您的应用程序依赖于旧的排序行为,可能会出现兼容性问题。 要启用旧的排序,必须将数据库兼容性级别 (ALTER DATABASE Compatibility Level) 设置为 100 或更低。 为此,SQL Server 2012 (11.x) 将在 .NET Framework 4 目录 (C:\Windows\Microsoft.NET\Framework\v4.0.30319) 中安装 sort00001000.dll。 有关详细信息,请参阅 <CompatSortNLSVersion> 元素

  • sys.dm_clr_appdomains 增加了以下列:total_processor_time_mstotal_allocated_memory_kbsurvived_memory_kb