Neuigkeiten bei der CLR-Integration
Die folgenden Funktionen sind neue CLR-Integrationsfunktionen in SQL Server 2012:
In Version 4 der CLR fangen CLR-Datenbankobjekte keine Ausnahmen mehr aufgrund eines beschädigten Status ab. Diese Ausnahmen werden jetzt in der CLR-Integrationshostingebene abgefangen. Diese Ausnahmen können immer noch von den CLR-Datenbankkomponenten abgefangen werden, indem ein Codeattribut (<legacyCorruptedStateExceptionsPolicy>-Element) festgelegt wird. Diese Vorgehensweise wird jedoch nicht empfohlen, da die Ergebnisse nicht zuverlässig sind, wenn eine Ausnahme aufgrund eines beschädigten Status auftritt.
Wegen der strengen Sicherheitsanforderungen von SQL Server 2012 verwenden CLR-Datenbankkomponenten weiterhin das Codezugriffssicherheitsmodell, das in CLR, Version 2.0, definiert wurde.
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 das Verhalten vor Version 4 der CLR benötigen, sollten mit einem Datenbank-Kompatibilitätsgrad (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 der Datenbank-Kompatibilitätsgrad (ALTER DATABASE Compatibility Level) auf 100 oder niedriger festgelegt werden. Damit dies unterstützt wird, installiert SQL Server 2012 sort00001000.dll im .NET Framework 4-Verzeichnis (C:\Windows\Microsoft.NET\Framework\v4.0.30319). Weitere Informationen finden Sie unter <CompatSortNLSVersion>-Element.
Die folgenden Spalten wurden sys.dm_clr_appdomains: total_processor_time_ms, total_allocated_memory_kb und survived_memory_kb hinzugefügt.