CLR 등록 및 활성화 하기

jevida(강성욱) 2016.09.13 06:57 Views : 1768

CLR 등록 및 활성화 하기

 

  • Version : SQL Server 2005, 2008, 2008R2, 2012

 

SQL Server 2005 부터 Microsoft Windows .NET Framework 의 CLR(공용 언어 런타임) 을 제공 한다. 이를 통하여 Visual Basic .NET 및 Visual C#을 포함한 모든 .NET Framework 언어를 사용하여 저장 프로시저, 트리거, 사용자 정의 형식, 사용자 정의 함수, 사용자 정의 집계 및 다양한 함수를 만들 수 있다.

 

[CLR 활성화]

Clr enabled 옵션을 사용하여 SQL Server에서 사용자 어셈블리를 실행 여부를 지정 한다.

설정 변경 후 WOW64 모드를 제외한 경우 서버를 재시작 하지 않아도 된다.

설명

0

사용자 어셈블리 사용 안 함

1

사용자 어셈블리 사용

 

SP_CONFIGURE 'SHOW ADVANCED OPTIONS', 1

GO

 

RECONFIGURE WITH OVERRIDE

GO

 

SP_CONFIGURE 'CLR ENABLED', 1

GO

 

RECONFIGURE WITH OVERRIDE

GO

 

 

 

[Assembly 등록]

함수를 처리할 DLL 파일을 어셈블리에 등록하여야 한다.

BEGIN TRY

    DROP ASSEMBLY SHA

END TRY BEGIN CATCH END CATCH

GO

 

CREATE ASSEMBLY SHA FROM 'D:\SHA.DLL'

GO

 

 

 

[함수 만들기]

함수를 만들어서 정상적으로 동작 하는 지 알아 보자. 우선 일반적으로 함수를 만들 듯 function 문법을 사용한다. 외부 파일을 호출 할 수 있는 문법이 추가 된다. 실습에 사용된 DLL의 기능은 입력된 문자를 SHA 512로 반환하는 함수 이다.

BEGIN TRY

    drop function rf_Sha512

END TRY BEGIN CATCH END CATCH

 

go

Create Function rf_Sha512 (

@Input nvarchar(128)

)returns nvarchar(128)as External Name Sha.UserDefinedFunctions.Sha512

go

 

select dbo.rf_Sha512('1234')

go

 

 

SQL Server에서 지원하지 않는 기능이다 외부 스크립트를 사용하여야 할 때 매우 유용한 기능 인듯 하다.



강성욱 / jevida@naver.com

Microsoft SQL Server MVP

Blog : http://sqlmvp.kr

Facebook : http://facebook.com/sqlmvp

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 38459
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 20748
1714 DMV를 이용한 SQL Server 성능 카운터 확인 jevida(강성욱) 2016.09.13 1915
1713 DMV를 이용한 SQL Server IO 성능 모니터 스냅샷 만들기 jevida(강성욱) 2016.09.13 1300
1712 DMV를 활용한 SQL Server 모니터링 jevida(강성욱) 2016.09.13 1386
1711 세션에 따른 캐시된 쿼리 플랜 설정 확인 jevida(강성욱) 2016.09.13 928
1710 SQL Server 특정 세션에 대한 마지막 실행 문장 확인 jevida(강성욱) 2016.09.13 785
1709 DMV - 데이터베이스 버퍼 메모리 사용량 확인 jevida(강성욱) 2016.09.13 3150
1708 Sys.dm_fts_parser을 이용한 문자열 구문 분석 jevida(강성욱) 2016.09.13 1406
1707 DMV에서 SQL Server 리소스 데이터베이스 값 jevida(강성욱) 2016.09.13 1123
1706 키워드로 PROCEDURE, FUNCTION 찾기 jevida(강성욱) 2016.09.13 1675
1705 BCP 사용 jevida(강성욱) 2016.09.13 3639
1704 DATEADD를 사용한 날짜 추가 및 빼기 jevida(강성욱) 2016.09.13 1206
1703 Change Data Capture(CDC) – 변경 이력 추적 jevida(강성욱) 2016.09.13 3112
1702 SSMS 에서 디버깅 하기 jevida(강성욱) 2016.09.13 9554
» CLR 등록 및 활성화 하기 jevida(강성욱) 2016.09.13 1768
1700 SQL Server 확장 이벤트를 사용한 Tempdb 병목현상 추적 jevida(강성욱) 2016.09.13 1696
1699 MAXDOP 설정 jevida(강성욱) 2016.09.13 2004
1698 SQL Server 이름 변경 하기 jevida(강성욱) 2016.09.13 1711
1697 SQL Server 마지막 시작 시간 확인 하기 jevida(강성욱) 2016.09.13 753
1696 여러 포트를 사용하도록 SQL Server 구성 jevida(강성욱) 2016.09.13 1950
1695 SQL Server가 사용중인 TCP/IP 포트 확인 jevida(강성욱) 2016.09.13 11698





XE Login