Novidades da integração CLR

Estes são os novos recursos da integração CLR no SQL Server 2012:

  • Na versão 4 do CLR, os objetos de banco de dados CLR não capturam mais exceções de estado corrompidas. Agora, essas exceções são capturadas na camada de hospedagem da integração CLR. Essas exceções ainda podem ser capturadas pelos componentes de banco de dados CLR definindo um atributo de código (Elemento <legacyCorruptedStateExceptionsPolicy>). No entanto, isso não é recomendado porque os resultados não são confiáveis quando ocorre uma exceção de estado corrompida.

  • Devido aos rigorosos requisitos de segurança do SQL Server 2012, os componentes do banco de dados CLR continuarão usando o modelo de segurança de acesso do código definido no CLR versão 2.0.

  • No CLR versão 4, um erro de formato em um valor System.TimeSpan gerará um System.FormatExceptions. Antes da versão 4 do CLR, um erro de formato em um valor System.TimeSpan era ignorado. Aplicativos de banco de dados que se baseiam no comportamento anterior à versão 4 do CLR deverão ser executados com um nível de compatibilidade de banco de dados (ALTER DATABASE Compatibility Level) igual a 100 ou inferior. Para obter mais informações, consulte <TimeSpan_LegacyFormatMode>.

  • A versão 4 do CLR oferece suporte ao Unicode 5.1. As operações de classificação que envolvem acentos e símbolos serão aprimoradas. Talvez ocorram problemas de compatibilidade se o seu aplicativo se basear no comportamento de classificação herdado. Para habilitar a classificação herdada, o nível de compatibilidade de banco de dados (ALTER DATABASE Compatibility Level) deve ser definido como 100 ou inferior. Para oferecer suporte a essa condição, o SQL Server 2012 instalará o arquivo sort00001000.dll no diretório do .NET Framework 4 (C:\Windows\Microsoft.NET\Framework\v4.0.30319). Para obter mais informações, consulte <CompatSortNLSVersion>.

  • As seguintes colunas foram adicionadas a sys.dm_clr_appdomains: total_processor_time_ms, total_allocated_memory_kb e survived_memory_kb.