CLR(공용 언어 런타임) 통합을 사용하여 데이터베이스 개체 작성
SQL Server와 .NET Framework CLR(공용 언어 런타임)을 통합하여 데이터베이스 개체를 작성할 수 있습니다. Microsoft SQL Server 내에서 실행되는 관리 코드를 "CLR 루틴"이라고 하는데 이러한 루틴에는 다음과 같은 항목이 포함됩니다.
스칼라 반환 사용자 정의 함수(스칼라 UDF)
테이블 반환 사용자 정의 함수(TVF)
UDP(사용자 정의 프로시저)
사용자 정의 트리거
CLR 루틴은 관리 코드에서도 구조가 동일하고 클래스의 공용 및 정적(Microsoft Visual Basic .NET의 경우 공유) 메서드에 매핑됩니다. .NET Framework를 사용하면 루틴뿐만 아니라 UDT(사용자 정의 형식)와 사용자 정의 집계 함수도 정의할 수 있습니다. UDT와 사용자 정의 집계 함수는 .NET Framework 클래스 전체에 매핑됩니다.
각 .NET Framework 루틴 형식은 Transact-SQL 선언을 포함하며 SQL Server에서 Transact-SQL과 동등한 항목이 허용되는 모든 위치에서 사용할 수 있습니다. 예를 들어 스칼라 UDF는 모든 스칼라 식에 사용할 수 있고, TVF는 모든 FROM 절에 사용할 수 있습니다. 프로시저는 EXEC 문에서 호출되거나 클라이언트 응용 프로그램에서 호출될 수 있습니다.
[!참고]
쿼리 최적화 프로그램에서 적절하다고 판단할 경우 공용 언어 런타임에서 CLR 개체(사용자 정의 함수, 사용자 정의 형식 또는 트리거)의 실행은 여러 스레드(병렬 계획)에서 발생할 수 있습니다. 그러나 사용자 정의 함수는 데이터에 액세스하므로 직렬 계획에서 실행됩니다. SQL Server 2008 이전의 서버 버전에서 LOB 매개 변수를 포함하거나 값을 반환하는 사용자 정의 함수를 실행할 경우에도 직렬 계획에서 실행되어야 합니다. 자세한 내용은 병렬 쿼리 처리를 참조하십시오.
Visual Studio .NET 2003은 CLR 통합 프로그래밍에 사용할 수 없습니다. SQL Server에는 .NET Framework가 사전 설치되어 있고 Visual Studio .NET 2003에서는 .NET Framework 2.0 어셈블리를 사용할 수 없습니다.
다음 표에서는 이 섹션에서 다루는 항목을 나열합니다.
CLR 통합으로 작업 시작
CLR과 SQL Server의 통합을 사용하여 개체를 컴파일하는 데 필요한 라이브러리와 네임스페이스에 대한 간략한 개요를 제공합니다. "Hello World" CLR 저장 프로시저의 예도 포함되어 있습니다.지원되는 .NET Framework 라이브러리
CLR 통합에서 지원되는 .NET Framework 라이브러리에 대한 정보를 제공합니다.CLR 통합 프로그래밍 모델 제한 사항
CLR 통합 프로그래밍의 모델 제한 사항에 대한 정보를 제공합니다..NET Framework의 SQL Server 데이터 형식
SQL Server 데이터 형식과 해당되는 .NET Framework 데이터 형식에 대해 간략하게 설명합니다.CLR 통합 사용자 지정 특성 개요
CLR 통합 사용자 지정 특성에 대한 정보를 제공합니다.CLR 사용자 정의 함수
테이블 반환 함수, 스칼라 함수, 사용자 정의 집계 함수 등 여러 가지 종류의 CLR 함수를 구현하고 사용하는 방법에 대해 설명합니다.CLR 사용자 정의 형식
CLR 사용자 정의 형식을 구현하고 사용하는 방법에 대해 설명합니다.CLR 저장 프로시저
CLR 저장 프로시저를 구현하고 사용하는 방법에 대해 설명합니다.CLR 트리거
CLR 트리거를 구현하고 사용하는 방법에 대해 설명합니다.