CLR 사용자 정의 형식
적용 대상: SQL Server
SQL Server는 .NET Framework CLR(공용 언어 런타임)에서 만든 어셈블리에 대해 프로그래밍된 데이터베이스 개체를 만드는 기능을 제공합니다. CLR에서 제공하는 풍부한 프로그래밍 모델을 활용할 수 있는 데이터베이스 개체에는 트리거, 저장 프로시저, 함수, 집계 함수 및 형식이 있습니다.
참고 항목
CLR 코드를 실행하는 기능은 SQL Server에서 기본적으로 OFF로 설정됩니다. CLR은 sp_configure 시스템 저장 프로시저를 사용하여 사용하도록 설정할 수 있습니다.
SQL Server 2005(9.x)부터 UDT(사용자 정의 형식)를 사용하여 서버의 스칼라 형식 시스템을 확장하여 SQL Server 데이터베이스에서 CLR 개체의 스토리지를 사용하도록 설정할 수 있습니다. UDT에는 여러 요소가 포함될 수 있으며 동작이 있을 수 있으며, 단일 SQL Server 시스템 데이터 형식으로 구성된 기존 별칭 데이터 형식과 구분됩니다.
UDT는 시스템 전체에서 액세스하므로 복잡한 데이터 형식을 사용하면 성능이 저하될 수 있습니다. 복잡한 데이터는 일반적으로 기존 행과 테이블을 사용하여 모델링하는 것이 가장 좋습니다. SQL Server의 UDT는 다음과 같은 경우에 적합합니다.
날짜, 시간, 통화 및 확장 숫자 형식
지형 공간 애플리케이션
인코딩 또는 암호화된 데이터
SQL Server에서 UDT를 개발하는 프로세스는 다음 단계로 구성됩니다.
UDT를 정의하는 어셈블리를 코딩하고 빌드합니다. UDT는 확인 가능한 코드를 생성하는 the.NET Framework CLR(공용 언어 런타임)에서 지원하는 언어를 사용하여 정의됩니다. 여기에는 Visual C# 및 Visual Basic .NET이 포함됩니다. 데이터는 .NET Framework 클래스 또는 구조체의 필드 및 속성으로 노출되며 동작은 클래스 또는 구조체의 메서드에 의해 정의됩니다.
어셈블리를 등록합니다. UDT는 데이터베이스 프로젝트의 Visual Studio 사용자 인터페이스를 통해 배포하거나 클래스 또는 구조가 포함된 어셈블리를 데이터베이스에 복사하는 Transact-SQL CREATE ASSEMBLY 문을 사용하여 배포할 수 있습니다.
SQL Server에서 UDT를 만듭니다. 어셈블리가 호스트 데이터베이스에 로드되면 Transact-SQL CREATE TYPE 문을 사용하여 UDT를 만들고 클래스 또는 구조체의 멤버를 UDT의 멤버로 노출합니다. UDT는 단일 데이터베이스의 컨텍스트에만 있으며, 등록된 후에는 UDT를 만들 때 사용된 외부 파일에 대한 종속 관계가 없습니다.
참고 항목
SQL Server 2005(9.x) 이전에는 .NET Framework 어셈블리에서 만든 UDT가 지원되지 않았습니다. 그러나 sp_addtype 사용하여 SQL Server 별칭 데이터 형식을 계속 사용할 수 있습니다. CREATE TYPE 구문을 사용하여 네이티브 SQL Server 사용자 정의 데이터 형식과 UDT를 모두 만들 수 있습니다.
SQL Server 2005(9.x)로 시작하는 UDT 를 사용하여 테이블, 변수 또는 매개 변수를 만들면 사용자 정의 형식을 테이블의 열 정의, Transact-SQL 일괄 처리의 변수 또는 Transact-SQL 함수 또는 저장 프로시저의 인수로 사용할 수 있습니다.
섹션 내용
사용자 정의 형식 만들기
UDT를 만드는 방법을 설명합니다.
SQL Server의 사용자 정의 형식 등록
SQL Server에서 UDT를 등록하고 관리하는 방법을 설명합니다.
SQL Server의 사용자 정의 형식 작업
UDT를 사용하여 쿼리를 만드는 방법을 설명합니다.
ADO.NET의 사용자 정의 형식 액세스
ADO.NET .NET Framework Data Provider for SQL Server를 사용하여 UDT를 사용하는 방법을 설명합니다.