CLR 등록 및 활성화 하기

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

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 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 568
1706 키워드로 PROCEDURE, FUNCTION 찾기 jevida(강성욱) 2016.09.13 1606
1705 BCP 사용 jevida(강성욱) 2016.09.13 3545
1704 DATEADD를 사용한 날짜 추가 및 빼기 jevida(강성욱) 2016.09.13 1177
1703 Change Data Capture(CDC) – 변경 이력 추적 jevida(강성욱) 2016.09.13 2773
1702 SSMS 에서 디버깅 하기 jevida(강성욱) 2016.09.13 8601
» CLR 등록 및 활성화 하기 jevida(강성욱) 2016.09.13 1626
1700 SQL Server 확장 이벤트를 사용한 Tempdb 병목현상 추적 jevida(강성욱) 2016.09.13 1643
1699 MAXDOP 설정 jevida(강성욱) 2016.09.13 1885
1698 SQL Server 이름 변경 하기 jevida(강성욱) 2016.09.13 1624
1697 SQL Server 마지막 시작 시간 확인 하기 jevida(강성욱) 2016.09.13 715
1696 여러 포트를 사용하도록 SQL Server 구성 jevida(강성욱) 2016.09.13 1866
1695 SQL Server가 사용중인 TCP/IP 포트 확인 jevida(강성욱) 2016.09.13 11397
1694 SQL Server SP_Congifure 변경 사항 캡처 jevida(강성욱) 2016.09.13 2089
1693 SQL Server Net Libraries jevida(강성욱) 2016.09.13 1129
1692 SQL Server 별칭 설정 및 사용 jevida(강성욱) 2016.09.13 2753
1691 SQL Server에 연결된 어플리케이션 드라이버 버전 확인 jevida(강성욱) 2016.09.13 911
1690 SQL Server 성능 대시보드 jevida(강성욱) 2016.09.13 2272
1689 SSMS를 이용한 데이터베이스 복사 하기 jevida(강성욱) 2016.09.13 11780
1688 SQL Server에서 DB2 링크드 서버 연결 방법 jevida(강성욱) 2016.09.13 3343
1687 SQL Server 인덱스 활성 / 비활성 하기 jevida(강성욱) 2016.09.13 2425





XE Login