sys.dm_external_script_requests
적용 대상: SQL Server 2016(13.x) 이상 Azure SQL Managed Instance
외부 스크립트를 실행 중인 각 활성 작업자 계정 행을 반환합니다.
참고 항목
이 DMV(동적 관리 뷰)는 외부 스크립트 실행을 지원하는 기능을 설치하고 사용하도록 설정한 경우에만 사용할 수 있습니다. 자세한 내용은 SQL Server 2017 이상의 Machine Learning Services(R, Python), SQL Server 2016의 R Services 및 Azure SQL Managed Instance의 Machine Learning Services를 참조하세요.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
external_script_request_id | 고유 식별자 | 외부 스크립트 요청을 보낸 프로세스의 ID입니다. 이는 SQL 인스턴스를 받은 프로세스 ID에 해당합니다. |
language | nvarchar | 지원되는 스크립트 언어를 나타내는 키워드입니다. |
degree_of_parallelism | int | 생성된 병렬 프로세스 수를 나타내는 숫자입니다. 이 값은 요청된 병렬 프로세스 수와 다를 수 있습니다. |
external_user_name | nvarchar | 스크립트가 실행된 Windows 작업자 계정입니다. |
사용 권한
VIEW SERVER STATE
서버에 대한 권한이 필요합니다.
참고 항목
외부 스크립트를 실행하는 사용자에게는 추가 권한이 EXECUTE ANY EXTERNAL SCRIPT
있어야 하지만 이 DMV는 관리자가 이 권한 없이 사용할 수 있습니다.
SQL Server 2022 이상에 대한 사용 권한
서버에 대한 VIEW SERVER PERFORMANCE STATE 권한이 필요합니다.
설명
이 뷰는 스크립트 언어 식별자를 사용하여 필터링할 수 있습니다.
또한 이 뷰는 스크립트가 실행되고 있는 작업자 계정을 반환합니다. 외부 스크립트에서 사용하는 작업자 계정에 대한 자세한 내용은 SQL Server Machine Learning Services의 확장성 프레임워크에 대한 보안 개요에서 처리에 사용되는 ID(SQLRUserGroup) 섹션을 참조하세요.
external_script_request_id 필드에 반환되는 GUID는 임시 파일이 저장되는 보안 디렉터리의 파일 이름도 나타냅니다. MSSQLSERVER01 같은 각 작업자 계정은 단일 SQL 로그인 또는 Windows 사용자를 나타내며 여러 스크립트 요청을 실행하는 데 사용될 수 있습니다. 기본적으로 이러한 임시 파일은 요청된 스크립트가 완료된 후 정리됩니다.
이 DMV는 활성 프로세스만 모니터링하고 이미 완료된 스크립트를 보고할 수 없습니다. 스크립트 기간을 추적해야 하는 경우 스크립트에 타이밍 정보를 추가하고 스크립트 실행의 일부로 캡처하는 것이 좋습니다.
예제
특정 프로세스에 대한 현재 활성 스크립트 보기
다음은 현재 인스턴스에서 실행 중인 외부 스크립트 실행 수를 표시하는 예제입니다.
SELECT external_script_request_id
, [language]
, degree_of_parallelism
, external_user_name
FROM sys.dm_external_script_requests;
결과
external_script_request_id | language | degree_of_parallelism | external_user_name |
---|---|---|---|
183EE6FC-7399-4318-AA2E-7A6C68E435A8 | R | 1 | MSSQLSERVER01 |