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 が生成されます。 バージョン 4 未満の CLR では、System.TimeSpan 値の形式に誤りがあっても無視されていました。 CLR バージョン 4 未満の動作に依存するデータベース アプリケーションは、データベース互換性レベル (ALTER DATABASE 互換性レベル) を 100 以下にして実行する必要があります。 詳細については、「<TimeSpan_LegacyFormatMode> 要素」を参照してください。

  • CLR のバージョン 4 は、Unicode 5.1 をサポートします。 アクセントや記号を含んだ並べ替えの処理が改善されます。 従来の並べ替え動作に依存したアプリケーションでは、互換性の問題が生じる場合があります。 従来の並べ替え動作を有効にするには、データベース互換性レベル (ALTER DATABASE 互換性レベル) を 100 以下に設定する必要があります。 この点をサポートするために、SQL Server 2012 (11.x) では、.NET Framework 4 ディレクトリ (C:\Windows\Microsoft.NET\Framework\v4.0.30319) に sort00001000.dll がインストールされます。 詳細については、「<CommandPlacements> 要素」を参照してください。

  • sys.dm_clr_appdomains には、total_processor_time_mstotal_allocated_memory_kbsurvived_memory_kb の各列が追加されています。