Поделиться через


Какие нововведения в интеграции CLR?

Область применения:SQL Server

В SQL Server 2012 (11.x) и более поздних версиях интеграция среды CLR .NET Framework получила следующие новые функции:

  • В версии 4 среды CLR объекты базы данных среды CLR больше не перехватывают исключения состояния повреждения. Теперь эти исключения перехватываются на уровне интеграции со средой CLR. Компоненты базы данных CLR по-прежнему могут перехватывать эти исключения, задав атрибут кода (<устаревшей версииCorruptedStateExceptionsPolicy> элемент). Однако этот атрибут не рекомендуется, так как результаты не надежны при возникновении исключения из-за повреждения состояния.

  • Из-за строгих требований к безопасности в SQL Server компоненты базы данных CLR продолжают использовать модель безопасности доступа к коду, определенную в среде CLR версии 2.0.

  • В среде CLR версии 4 ошибка формата в значении System.TimeSpan создает ошибку System.FormatException. До версии 4 среды CLR ошибка формата в значении System.TimeSpan была проигнорирована. Приложения базы данных, зависящие от поведения версий CLR до версии 4, следует запускать с уровнем совместимости базы данных 100 или ниже. Дополнительные сведения см. в разделе <TimeSpan_LegacyFormatMode> Элемент.

  • CLR версии 4 поддерживает Юникод 5.1. Операции сортировки, включающие некоторые знаки акцента и символы, улучшаются. Проблемы совместимости могут возникнуть, если приложение использует устаревшее поведение сортировки. Чтобы включить устаревшую сортировку, уровень совместимости базы данных должен иметь значение 100 или ниже. Для поддержки этой функции SQL Server 2012 (11.x) устанавливает sort00001000.dll в каталоге .NET Framework 4 (C:\Windows\Microsoft.NET\Framework\v4.0.30319). Дополнительные сведения см. в разделе > CompatSortNLSVersion".

  • В sys.dm_clr_appdomainsдобавлены следующие столбцы: total_processor_time_ms, total_allocated_memory_kbи survived_memory_kb.