O que há de novo na integração CLR?
Aplica-se a:SQL Server
A seguir estão os novos recursos na integração CLR (Common Language Runtime) do .NET Framework no SQL Server 2012 (11.x) e versões posteriores:
Na versão 4 do CLR, os objetos de banco de dados CLR não capturam mais exceções de estado corrompido. Essas exceções agora são capturadas na camada de hospedagem de integração CLR. Os componentes de banco de dados CLR ainda podem capturar essas exceções definindo um atributo de código (<legacyCorruptedStateExceptionsPolicy> Element). No entanto, esse atributo não é recomendado, porque os resultados não são confiáveis quando ocorre uma exceção de estado corrompido.
Devido aos rigorosos requisitos de segurança no SQL Server, os componentes do banco de dados CLR continuam a usar o modelo de Segurança de Acesso ao Código definido no CLR versão 2.0.
No CLR versão 4, um erro de formato em um valor
System.TimeSpan
gera um erroSystem.FormatException
. Antes da versão 4 do CLR, um erro de formato em um valorSystem.TimeSpan
era ignorado. Os aplicativos de banco de dados que dependem do comportamento anterior à versão 4 do CLR devem ser executados com um nível de compatibilidade de banco de dados de 100 ou inferior. Para obter mais informações, consulte <TimeSpan_LegacyFormatMode> Element.CLR versão 4 suporta Unicode 5.1. As operações de classificação que envolvem algumas marcas de acento e símbolos são melhoradas. Problemas de compatibilidade podem ocorrer se seu aplicativo depender do comportamento de classificação herdado. Para habilitar a classificação herdada, o nível de compatibilidade do banco de dados deve ser definido como 100 ou inferior. Para dar suporte a essa funcionalidade, o SQL Server 2012 (11.x) instala
sort00001000.dll
no diretório .NET Framework 4 (C:\Windows\Microsoft.NET\Framework\v4.0.30319
). Para obter mais informações, consulte <CompatSortNLSVersion> Element.As seguintes colunas foram adicionadas a sys.dm_clr_appdomains:
total_processor_time_ms
,total_allocated_memory_kb
esurvived_memory_kb
.