다음을 통해 공유


SQL Server CLR 호스팅 환경에서 테스트되지 않은 .NET Framework 어셈블리에 대한 지원 정책

이 문서에서는 SQL Server의 .NET Framework CLR(공용 언어 런타임) 호스팅 환경에서 테스트되지 않은 Microsoft .NET Framework 어셈블리에 대한 지원 정책을 설명합니다.

원래 제품 버전: SQL Server
원래 KB 번호: 922672

어셈블리 테스트 및 지원

SQL Server에서 테스트되지 않은 .NET Framework 어셈블리를 참조하는 어셈블리를 등록하면 다음 경고 메시지가 표시될 수 있습니다.

등록하는 .Net Frameworks 어셈블리 AssemblyName은 SQL Server 호스팅 환경에서 완전히 테스트되지 않습니다.

이 메시지는 .NET Framework 어셈블리가 SQL Server CLR 호스팅 환경에서 테스트되지 않았음을 의미합니다. 따라서 어셈블리는 SQL Server CLR 호스팅 환경에서 지원되지 않습니다.

테스트되지 않은 .NET Framework 어셈블리는 메모리 부족 조건과 같은 중요한 조건이 발생할 때 호스트 프로세스를 종료할 수 있습니다. SQL Server CLR 호스팅 환경에서 어셈블리를 고유한 위험으로 사용할 수 있습니다. 그러나 SQL Server CSS(고객 지원 서비스)는 지원되지 않는 .NET Framework 어셈블리와 관련된 문제를 사용하고 해결하는 데 도움이 되지 않습니다. CSS에서 지원되지 않는 특정 어셈블리가 SQL Server 문제를 발생시키는 것으로 확인되면 어셈블리 사용을 중지하라는 메시지가 표시될 수 있습니다. 또한 필요한 경우 CSS에서 특정 SQL Server 문제를 해결할 때 어셈블리 사용을 일시적으로 중지하라는 메시지가 표시될 수 있습니다.

어셈블리 등록

.NET 어셈블리에는 순수 어셈블리와 혼합의 두 종류가 있습니다. 순수 .NET 어셈블리에는 MSIL 명령만 포함됩니다. 혼합 어셈블리에는 관리되지 않는 컴퓨터 명령과 MSIL 명령이 모두 포함됩니다. 일반적으로 혼합 어셈블리는 "clr" 스위치를 사용하여 C++ 컴파일러에서 컴파일되며 네이티브 C++ 코드에서 빌드된 컴퓨터 명령도 포함합니다.

지원되는 목록에 없는 .NET Framework 어셈블리를 사용하는 경우 문을 사용하여 CREATE ASSEMBLY SQL Server 데이터베이스 내에서 어셈블리 및 참조된 어셈블리를 등록해야 합니다. SQL Server CREATE ASSEMBLY 문을 사용하면 순수 .NET Framework 어셈블리만 등록할 수 있습니다. 어셈블리 또는 참조된 어셈블리가 순수 .NET Framework 어셈블리가 아니므로 혼합 어셈블리인 경우 다음 오류 메시지가 표시됩니다.

Msg 6544, Level 16, State 1, Line 2
어셈블리 '<어셈블리 이름>'이 잘못된 형식이거나 순수 .NET 어셈블리가 아니므로 어셈블리 '<어셈블리 이름>'에 대한 CREATE ASSEMBLY가 실패했습니다.
확인되지 않는 PE 헤더/네이티브 스텁입니다.

이 경우 어셈블리가 이 문서에 설명된 지원되는 목록에 있지 않으면 .NET Framework 어셈블리를 SQL CLR과 함께 사용할 수 없습니다. 또한 .NET Framework 어셈블리는 순수 어셈블리에서 버전 간의 혼합 어셈블리로 변경할 수 있습니다. 지원되는 목록에 없는 어셈블리를 사용하는 경우 어셈블리가 .NET Framework의 한 버전에서 작동하지만 다른 버전에서는 작동하지 않는 상황이 발생할 수 있습니다. 이러한 어셈블리는 문을 사용하여 CREATE ASSEMBLY 등록할 필요가 없으므로 지원되는 목록의 어셈블리에는 이 제한이 적용되지 않습니다.

또한 .NET Framework를 업그레이드한 후 이러한 어셈블리를 유지 관리해야 합니다. CLR 루틴을 실행하거나 SQL Server에서 어셈블리를 사용하는 경우 다음 오류 메시지가 표시됩니다.

호스트 저장소의 어셈블리에는 GAC의 어셈블리와 다른 서명이 있습니다. (HRESULT 예외: 0x80131050)

SQL Server CLR 호스팅 환경에서 지원되는 어셈블리

SQL Server CLR 호스팅 환경에서 지원되는 .NET Framework 어셈블리는 다음과 같습니다.

  • Microsoft.VisualBasic.dll

  • Mscorlib.dll

  • System.Data.dll

  • System.dll

  • System.Xml.dll

  • Microsoft.VisualC.dll

  • CustomMarshalers.dll

  • System.Security.dll

  • System.Web.Services.dll

  • System.Data.SqlXml.dll

  • System.Transactions.dll

  • System.Data.OracleClient.dll

  • System.Configuration.dll