SQL Server 언어 확장이란?

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

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

참고

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

언어 확장으로 수행 가능한 작업

언어 확장은 외부 코드를 실행하는 데 확장성 프레임워크를 사용합니다. 코드 실행이 코어 엔진 프로세스에서 격리되지만 SQL Server 쿼리 실행에 완전히 통합됩니다. 데이터 원본에서 코드를 실행할 수 있으므로 네트워크를 통해 데이터를 끌어오지 않아도 됩니다.

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

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

  • 데이터 보안. 데이터 원본과 더 가까운 위치에서 외부 언어를 실행할 수 있으므로 보안되지 않은 방식으로 데이터를 이동하지 않아도 됩니다.
  • 속도. 데이터베이스는 집합 기반 작업에 최적화됩니다.
  • 손쉬운 배포 및 통합. SQL Server는 여러 다른 데이터 관리 작업 및 애플리케이션에 대한 중앙 운영 지점입니다. 데이터베이스 데이터를 사용하여 언어 확장에서 사용되는 데이터의 일관성과 최신 상태를 보장합니다.

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

다음 단계