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 ディレクトリ (C:\Windows\Microsoft.NET\Framework\v4.0.30319) に sort00001000.dll をインストールします。 詳細については、「 <CompatSortNLSVersion> 要素」を参照してください。sys.dm_clr_appdomainsには、
total_processor_time_ms
、total_allocated_memory_kb
、survived_memory_kb
の各列が追加されています。