以下是 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 之前行为的数据库应用程序应以数据库兼容级别 (ALTER DATABASE Compatibility Level
) 100 或更低版本运行。 有关详细信息,请参阅 <TimeSpan_LegacyFormatMode> 元素。CLR 版本 4 支持 Unicode 5.1。 将改进涉及某些重音标记和符号的排序作。 如果应用程序依赖于旧排序行为,则可能会出现兼容性问题。 若要启用旧排序,数据库兼容性级别 (
ALTER DATABASE Compatibility Level
) 必须设置为 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
。