CLR 통합의 새로운 기능

SQL Server 2012에서 CLR 통합에 새로 추가된 기능은 다음과 같습니다.

  • CLR 버전 4에서는 CLR 데이터베이스 개체가 더 이상 손상된 상태 예외를 catch하지 않습니다. 이러한 예외는 이제 CLR 통합 호스팅 계층에서 catch됩니다. 코드 특성(<legacyCorruptedStateExceptionsPolicy> 요소)을 설정하면 CLR 데이터베이스 구성 요소에서 이러한 예외를 계속 catch할 수 있습니다. 그러나 손상된 상태 예외가 발생할 때 결과를 신뢰할 수 없으므로 이 방법은 사용하지 않는 것이 좋습니다.

  • SQL Server 2012의 엄격한 보안 요구 사항으로 인해 CLR 데이터베이스 구성 요소가 CLR 버전 2.0에 정의된 코드 액세스 보안 모델을 계속해서 사용합니다.

  • CLR 버전 4에서 System.TimeSpan 값에 형식 오류가 있으면 System.FormatExceptions가 생성됩니다. CLR 버전 4 이전에는 System.TimeSpan 값에 형식 오류가 있어도 무시되었습니다. CLR 버전 4 이전의 동작에 의존하는 데이터베이스 응용 프로그램을 실행하려면 데이터베이스 호환성 수준(ALTER DATABASE Compatibility Level)이 100 이하여야 합니다. 자세한 내용은 <TimeSpan_LegacyFormatMode> 요소를 참조하십시오.

  • CLR 버전 4는 유니코드 5.1을 지원하므로 일부 악센트 표시 및 기호가 관련된 정렬 작업이 개선됩니다. 응용 프로그램이 레거시 정렬 동작에 의존하는 경우에는 호환성 문제가 발생할 수 있습니다. 레거시 정렬을 사용하도록 설정하려면 데이터베이스 호환성 수준(ALTER DATABASE Compatibility Level)을 100 이하로 설정해야 합니다. 이를 지원하기 위해 SQL Server 2012에서는 .NET Framework 4 디렉터리(C:\Windows\Microsoft.NET\Framework\v4.0.30319)에 sort00001000.dll을 설치합니다. 자세한 내용은 <CompatSortNLSVersion> 요소를 참조하십시오.

  • sys.dm_clr_appdomains에 total_processor_time_ms, total_allocated_memory_kb 및 survived_memory_kb 열이 추가되었습니다.