CLR-Integration: Neuerungen

Gilt für:SQL Server

Im Folgenden finden Sie neue Features in der CLR-Integration in SQL Server 2012 (11.x):

  • In Version 4 der CLR fangen CLR-Datenbankobjekte nicht länger Ausnahmen aufgrund eines beschädigten Status ab. Diese Ausnahmen werden jetzt in der CLR-Integrationshostingebene abgefangen. Diese Ausnahmen können weiterhin von den CLR-Datenbankkomponenten durch Festlegen eines Codeattributs (<legacyCorruptedStateExceptionsPolicy> Element) erfasst werden. Diese Vorgehensweise wird jedoch nicht empfohlen, da die Ergebnisse nicht zuverlässig sind, wenn eine Ausnahme aufgrund eines beschädigten Status auftritt.

  • Aufgrund der strengen Sicherheitsanforderungen von SQL Server 2012 (11.x) verwenden CLR-Datenbankkomponenten weiterhin das codezugriffssicherheitsmodell, das in CLR Version 2.0 definiert ist.

  • In CLR Version 4 generiert ein Formatfehler in einem System.TimeSpan-Wert eine System.FormatExceptions. Vor Version 4 der CLR wurde ein Formatfehler in einem System.TimeSpan-Wert ignoriert. Datenbankanwendungen, die auf dem Verhalten vor Version 4 der CLR basieren, sollten mit einer Datenbankkompatibilitätsstufe (ALTER DATABASE Compatibility Level) von 100 oder niedriger ausgeführt werden. Weitere Informationen finden Sie unter <TimeSpan_LegacyFormatMode> Element.

  • Version 4 der CLR unterstützt Unicode 5.1. Sortiervorgänge, die Akzentzeichen und Symbole einschließen, werden verbessert. Wenn die Anwendung das Legacysortierverhalten benötigt, können Kompatibilitätsprobleme auftreten. Um die Legacysortierung zu aktivieren, muss die Datenbankkompatibilitätsebene (ALTER DATABASE Compatibility Level) auf 100 oder niedriger festgelegt werden. Um dies zu unterstützen, installiert SQL Server 2012 (11.x) sort00001000.dll im Verzeichnis .NET Framework 4 (C:\Windows\Microsoft.NET\Framework\v4.0.30319). Weitere Informationen finden Sie unter CompatSortNLSVersion-Element>.<

  • Die folgenden Spalten wurden zu sys.dm_clr_appdomains hinzugefügt: total_processor_time_ms, total_allocated_memory_kb und survived_memory_kb.