Nouveautés dans l'intégration du CLR

Voici les nouvelles fonctionnalités apportées à l'intégration du CLR dans SQL Server 2012 :

  • Dans la version 4 du CLR, les objets de base de données CLR n'interceptent plus des exceptions d'état endommagées. Ces exceptions sont maintenant interceptées dans l'intégration du CLR qui héberge la couche. Ces exceptions peuvent encore être interceptées par les composants de base de données CLR. Pour cela, il faut définir un attribut de code (Élément <legacyCorruptedStateExceptionsPolicy>). Toutefois, cette opération n'est pas recommandée car les résultats ne sont pas fiables lorsqu'une exception d'état endommagée se produit.

  • En raison des strictes conditions de sécurité de SQL Server 2012, les composants de base de données CLR continueront à utiliser le modèle de sécurité d'accès du code défini dans la version 2.0 du CLR.

  • Dans la version 4 du CLR, une erreur de format dans une valeur System.TimeSpan générera un System.FormatExceptions. Avant la version 4 du CLR, une erreur de format dans une valeur System.TimeSpan était ignorée. Les applications de base de données qui s'appuient sur le comportement antérieur à la version 4 du CLR doivent s'exécuter avec un niveau de compatibilité de base de données (ALTER DATABASE Compatibility Level) de 100 ou inférieur. Pour plus d'informations, consultez Élément <TimeSpan_LegacyFormatMode>.

  • La version 4 du CLR prend en charge Unicode 5.1. Les opérations de tri qui impliquent des accents et des symboles vont faire l'objet d'améliorations. Des problèmes de compatibilité peuvent survenir si votre application s'appuie sur un comportement de tri hérité. Pour activer le tri hérité, le niveau de compatibilité de la base de données (ALTER DATABASE Compatibility Level) doit être défini sur 100 ou inférieur. Pour prendre en charge cette fonctionnalité, SQL Server 2012 installe sort00001000.dll dans le répertoire du .NET Framework 4 (C:\Windows\Microsoft.NET\Framework\v4.0.30319). Pour plus d'informations, consultez Élément <CompatSortNLSVersion>.

  • Les colonnes suivantes ont été ajoutées à sys.dm_clr_appdomains: total_processor_time_ms, total_allocated_memory_kb et survived_memory_kb.