다음을 통해 공유


SQL Server 언어 확장이란 무엇인가요?

적용 대상: SQL Server 2019(15.x) 이상 버전

언어 확장은 외부 코드를 실행하는 데 사용되는 SQL Server의 기능입니다. 관계형 데이터는 확장성 프레임워크를 사용하여 외부 코드에서 사용할 수 있습니다. SQL Server 2019(15.x) 이상 버전에서는 Java, C#, Python 및 R 런타임이 지원됩니다.

참고 항목

SQL Server에서 Python 또는 R을 실행하려면 Python 및 R을 사용한 Machine Learning Services 설명서를 참조하세요. SQL Server 2019(15.x) 이상 버전을 사용하면 언어 확장과 함께 사용자 지정 Python 및 R 런타임을 사용할 수 있습니다. 자세한 내용은 SQL Server용 Python 사용자 지정 런타임 설치SQL Server용 R 사용자 지정 런타임 설치를 참조하세요.

언어 확장으로 수행할 수 있는 작업

언어 확장은 외부 코드를 실행하는 데 확장성 프레임워크를 사용합니다. 코드 실행은 핵심 엔진 프로세스에서 격리되지만 SQL Server 쿼리 실행과 완전히 통합됩니다. 데이터 원본에서 코드를 실행하여 네트워크를 통해 데이터를 가져올 필요가 없습니다.

외부 Java 언어는 CREATE EXTERNAL LANGUAGE를 사용하여 정의됩니다. sp_execute_external_script 시스템 저장 프로시저는 코드를 실행하기 위한 인터페이스로 사용됩니다.

언어 확장은 다음과 같은 여러 가지 이점을 제공합니다.

  • 데이터 보안. 데이터 원본과 더 가까운 위치에서 외부 언어를 실행할 수 있으므로 보안되지 않은 방식으로 데이터를 이동하지 않아도 됩니다.

  • 속도. 데이터베이스는 집합 기반 작업에 최적화되어 있습니다.

  • 배포 및 통합의 용이성. SQL Server는 다른 많은 데이터 관리 작업 및 애플리케이션에 대한 작업의 중심 지점입니다. 데이터베이스 데이터를 사용하여 언어 확장에서 사용되는 데이터의 일관성과 최신 상태를 보장합니다.

기본 공용 언어 런타임 통합을 사용하면 .NET 언어를 사용하여 SQL Server의 일부 기능을 구현할 수 있습니다. SQL CLR과 SQL 언어 확장 간의 차이점에 대한 자세한 내용은 SQL Server 언어 확장과 SQL CLR 비교를 참조하세요.

확장성 프레임워크를 사용한 보안에 대한 자세한 내용은 SQL Server Machine Learning Services의 확장성 프레임워크에 대한 보안 아키텍처를 참조하세요.