메시지 큐 태스크

적용 대상: Azure Data Factory의 SQL Server SSIS Integration Runtime

메시지 큐 태스크를 통해 메시지 큐(MSMQ라고도 함)를 사용하여 SQL Server Integration Services 패키지 간에 메시지를 보내고 받거나 사용자 지정 애플리케이션에서 처리하는 애플리케이션 큐로 메시지를 보낼 수 있습니다. 이러한 메시지는 단순한 텍스트, 파일 또는 변수와 해당 값의 형태로 사용될 수 있습니다.

메시지 큐 태스크를 사용하면 회사 전반의 작업을 조정할 수 있습니다. 대상을 사용할 수 없거나 사용 중인 경우 메시지를 큐에 대기하고 나중에 전달할 수 있습니다. 예를 들어 작업은 네트워크에 연결할 때 메시지를 받는 영업 담당자의 오프라인 랩톱 컴퓨터에 대한 메시지를 큐에 대기할 수 있습니다. 메시지 큐 태스크는 다음 용도로 사용할 수 있습니다.

  • 다른 패키지가 체크 인될 때까지 작업 실행을 지연합니다. 예를 들어 메시지 큐 태스크는 각 소매점 사이트에서 일일 관리가 끝난 후 회사 컴퓨터에 메시지를 보냅니다. 회사 컴퓨터에서 실행되는 패키지에는 특정 소매점 사이트의 메시지를 대기 중인 메시지 큐 태스크가 있습니다. 사이트에서 메시지가 도착하면 태스크가 해당 사이트의 데이터를 업로드합니다. 모든 사이트가 체크 인되면 패키지가 요약 합계를 계산합니다.

  • 데이터를 처리하는 컴퓨터로 데이터 파일을 보냅니다. 예를 들어 식당 금전 등록기에서 출력은 각 웨이터의 팁에 대한 데이터가 추출되는 회사 급여 시스템에 데이터 파일 메시지로 보낼 수 있습니다.

  • 회사 전체에 파일을 배포합니다. 예를 들어 패키지는 메시지 큐 작업을 사용하여 패키지 파일을 다른 컴퓨터로 보낼 수 있습니다. 대상 컴퓨터에서 실행되는 패키지는 메시지 큐 작업을 사용하여 패키지를 로컬로 검색하고 저장합니다.

메시지를 보내거나 받을 때 메시지 큐 태스크는 데이터 파일, 문자열, 변수에 대한 문자열 메시지 또는 변수 중 하나의 메시지 유형을 사용합니다. 변수 메시지 유형에 대한 문자열 메시지는 메시지를 받을 때만 사용할 수 있습니다.

이 태스크에서는 MSMQ 연결 관리자를 사용하여 메시지 큐에 연결합니다. 자세한 내용은 MSMQ 연결 관리자를 참조하세요. 메시지 큐에 대한 자세한 내용은 MSDN Library를 참조하세요.

메시지 큐 태스크를 사용하려면 Integration Services 서비스가 설치되어 있어야 합니다. 설치할 구성 요소 페이지 또는 SQL Server 설치 마법사의 기능 선택 페이지에서 설치하도록 선택할 수 있는 일부 SQL Server 구성 요소는 Integration Services 구성 요소의 부분 집합을 설치합니다. 이러한 구성 요소는 특정 태스크에 유용하지만 Integration Services의 기능은 제한됩니다. 예를 들어 SSDT(SQL Server Data Tools) 옵션을 선택하면 패키지 디자인에 필요한 Integration Services 구성 요소가 설치되지만 Integration Services 서비스가 설치되지 않기 때문에 메시지 큐 태스크가 작동하지 않습니다. Integration Services를 완전히 설치하려면 설치할 구성 요소 페이지에서 Integration Services를 선택해야 합니다. 메시지 큐 태스크를 설치하고 실행하는 방법에 대한 자세한 내용은 Integration Services 설치를 참조하세요.

참고 항목

컴퓨터의 운영 체제가 FIPS 모드로 구성되고 태스크에서 암호화를 사용하는 경우 메시지 큐 작업이 FIPS(Federal Information Processing Standard) 140-2를 준수하지 못합니다. 메시지 큐 태스크에서 암호화를 사용하지 않는 경우에는 태스크가 성공적으로 실행됩니다.

메시지 유형

메시지 큐 태스크에서 제공하는 메시지 유형을 다음과 같은 방법으로 구성할 수 있습니다.

  • 데이터 파일 메시지는 파일에 메시지가 포함되도록 지정합니다. 메시지를 받을 때 파일을 저장하고, 기존 파일을 덮어쓰고, 태스크에서 메시지를 받을 수 있는 패키지를 지정하도록 태스크를 구성할 수 있습니다.

  • String 메시지는 메시지를 문자열로 지정합니다. 메시지를 받을 때 받은 문자열을 사용자 정의 문자열과 비교하고 비교에 따라 작업을 수행하도록 작업을 구성할 수 있습니다. 문자열 비교는 대/소문자를 구분하거나 대/소문자를 구분하지 않거나 부분 문자열을 사용할 수 있습니다.

  • 변수에 대한 문자열 메시지는 원본 메시지를 대상 변수로 전송되는 문자열로 지정합니다. 대/소문자를 구분하지 않거나 부분 문자열 비교를 사용하여 수신된 문자열을 사용자 정의 문자열과 비교하도록 태스크를 구성할 수 있습니다. 이 메시지 유형은 태스크가 메시지를 수신하는 경우에만 사용할 수 있습니다.

  • 변수는 메시지에 하나 이상의 변수가 포함되도록 지정합니다. 메시지에 포함된 변수 이름을 지정하도록 메시지를 구성할 수 있습니다. 메시지를 받을 때 메시지를 받을 수 있는 패키지와 메시지의 대상인 변수를 모두 지정하도록 태스크를 구성할 수 있습니다.

메시지 보내기

메시지를 보내도록 메시지 큐 작업을 구성할 때 메시지 큐 기술인 RC2 및 RC4에서 현재 지원되는 암호화 알고리즘 중 하나를 사용하여 메시지를 암호화할 수 있습니다. 이 두 암호화 알고리즘은 메시지 큐 기술에서에서 현재 지원하지 않는 최신 알고리즘에 비해 암호화 방식이 취약한 것으로 간주됩니다. 따라서 메시지 큐 작업을 사용하여 메시지를 보낼 때 암호화 요구 사항을 신중하게 고려해야 합니다.

메시지 받기

메시지를 받을 때 메시지 큐 작업은 다음과 같은 방법으로 구성할 수 있습니다.

  • 메시지를 무시하거나 큐에서 메시지를 제거합니다.

  • 시간 제한을 지정합니다.

  • 제한 시간이 되면 오류가 발생합니다.

  • 메시지가 데이터 파일에 저장된 경우 기존 파일을 덮어씁니다.

  • 메시지에서 데이터 파일 메시지 유형이 사용되는 경우 메시지 파일을 다른 파일 이름으로 저장합니다.

메시지 큐 태스크에 사용할 수 있는 사용자 지정 로깅 메시지

다음 표에서는 메시지 큐 태스크에 대한 사용자 지정 로그 항목을 나열합니다. 자세한 내용은 SSIS(Integration Services) 로깅을 참조하세요.

로그 항목 설명
MSMQAfterOpen 태스크에서 메시지 큐 열기를 완료했음을 나타냅니다.
MSMQBeforeOpen 태스크에서 메시지 큐 열기를 시작했음을 나타냅니다.
MSMQBeginReceive 태스크에서 메시지 받기를 시작했음을 나타냅니다.
MSMQBeginSend 태스크에서 메시지 보내기를 시작했음을 나타냅니다.
MSMQEndReceive 태스크에서 메시지 받기를 완료했음을 나타냅니다.
MSMQEndSend 태스크에서 메시지 보내기를 완료했음을 나타냅니다.
MSMQTaskInfo 태스크에 대한 설명 정보를 제공합니다.
MSMQTaskTimeOut 태스크 시간이 초과되었음을 나타냅니다.

메시지 큐 태스크 구성

SSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다. SSIS 디자이너에서 설정할 수 있는 속성에 대해 자세한 정보는 다음 주제를 클릭하세요.

프로그래밍 방식으로 이러한 속성을 설정하는 방법은 개발자 가이드에서 Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask 클래스에 대한 설명서를 참조하세요.

SSIS 디자이너에서 이러한 속성을 설정하는 방법에 대한 자세한 내용은 작업 또는 컨테이너의 속성 설정을 참조하세요.

메시지 큐 태스크 편집기(일반 페이지)

메시지 큐 태스크 편집기 대화 상자의 일반 페이지를 사용하여 메시지 큐 태스크의 이름을 지정하고 설명하고, 메시지 형식을 지정하고, 태스크가 메시지를 보내거나 받는지 여부를 지정할 수 있습니다.

옵션

이름
메시지 큐 태스크에 사용할 고유 이름을 제공합니다. 이 이름은 태스크 아이콘에서 레이블로 사용됩니다.

참고

태스크 이름은 패키지 내에서 고유해야 합니다.

설명
메시지 큐 태스크에 대한 설명을 입력합니다.

Use2000Format
2000 형식의 MSMQ(메시지 큐)를 사용할지 여부를 나타냅니다. 기본값은 False입니다.

MSMQConnection
기존 MSMQ 연결 관리자를 선택하거나 <새 연결...>을 클릭하여 새 연결 관리자를 만듭니다.

관련 항목: MSMQ 연결 관리자, MSMQ 연결 관리자 편집기

Message
메시지 큐 태스크에서 메시지를 보내거나 받을지 여부를 지정합니다. 메시지 보내기를 선택하면 대화 상자의 왼쪽 창에 보내기 페이지가 나열됩니다. 메시지 받기를 선택하면 수신 페이지가 나열됩니다. 기본적으로 이 값은 메시지 보내기로 설정되어 있습니다.

메시지 큐 태스크 편집기(보내기 페이지)

메시지 큐 태스크 편집기 대화 상자의 보내기 페이지를 사용하여 Microsoft SQL Server Integration Services 패키지에서 메시지를 보내도록 메시지 큐 작업을 구성합니다.

옵션

UseEncryption
메시지를 암호화할지 여부를 나타냅니다. 기본값은 False입니다.

EncryptionAlgorithm
암호화 사용을 선택한 경우 사용할 암호화 알고리즘의 이름을 지정합니다. 메시지 큐 태스크에는 RC2 및 RC4 알고리즘을 사용할 수 있습니다. 기본값은 RC2입니다.

참고 항목

RC4 알고리즘은 이전 버전과의 호환성을 위해서만 지원됩니다. 데이터베이스의 호환성 수준이 90 또는 100인 경우 새 자료는 RC4 또는 RC4_128로만 암호화할 수 있습니다. 이 옵션은 사용하지 않는 것이 좋습니다. 대신 AES 알고리즘 중 하나와 같은 새 알고리즘을 사용하십시오. 현재 릴리스의 SQL Server에서 RC4 또는 RC4_128을 사용하여 암호화된 자료는 모든 호환성 수준에서 해독할 수 있습니다.

Important

메시지 큐(MSMQ라고도 함) 기술이 지원하는 암호화 알고리즘이 있습니다. 이 두 암호화 알고리즘은 메시지 큐에서 현재 지원하지 않는 최신 알고리즘에 비해 암호화 방식이 취약한 것으로 간주됩니다. 따라서 메시지 큐 작업을 사용하여 메시지를 보낼 때 암호화 요구 사항을 신중하게 고려해야 합니다.

MessageType
메시지 유형을 선택합니다. 이 속성의 옵션은 다음 테이블에 나열되어 있습니다.

설명
데이터 파일 메시지 메시지는 파일에 저장됩니다. 이 값을 선택하면 동적 옵션 DataFileMessage가 표시됩니다.
변수 메시지 메시지가 변수에 저장됩니다. 이 값을 선택하면 동적 옵션 VariableMessage가 표시됩니다.
문자열 메시지 메시지는 메시지 큐 태스크에 저장됩니다. 이 값을 선택하면 동적 옵션 StringMessage가 표시됩니다.

MessageType 동적 옵션

MessageType = 데이터 파일 메시지

DataFileMessage
데이터 파일의 경로를 입력하거나 줄임표 (...)를 클릭한 다음 파일을 찾습니다.

MessageType = 변수 메시지

VariableMessage
변수 이름을 입력하거나 줄임표 (...)를 클릭한 다음 변수를 선택합니다. 변수는 쉼표로 구분됩니다.

관련 주제: 변수 선택

MessageType = 문자열 메시지

StringMessage
문자열 메시지를 입력하거나 줄임표 (...)를 클릭한 다음 문자열 메시지 입력 대화 상자에 메시지를 입력합니다.

메시지 큐 태스크 편집기(받기 페이지)

메시지 큐 태스크 편집기 대화 상자의 수신 페이지를 사용하여 MSMQ(Microsoft Message Queuing) 메시지를 수신하도록 메시지 큐 작업을 구성할 수 있습니다.

옵션

RemoveFromMessageQueue
메시지가 수신된 후 큐에서 메시지를 제거할지 여부를 나타냅니다. 기본적으로 이 값은 False로 설정되어 있습니다.

ErrorIfMessageTimeOut
메시지 제한 시간이 초과할 경우 태스크 실패로 처리하고 오류 메시지를 표시할지 여부를 나타냅니다. 기본값은 False입니다.

TimeoutAfter
작업 실패 시 오류 메시지를 표시하도록 선택하는 경우 시간 제한 메시지를 표시하기 전에 대기할 시간(초)을 지정합니다.

MessageType
메시지 유형을 선택합니다. 이 속성의 옵션은 다음 테이블에 나열되어 있습니다.

설명
데이터 파일 메시지 메시지는 파일에 저장됩니다. 이 값을 선택하면 동적 옵션 DataFileMessage가 표시됩니다.
변수 메시지 메시지가 변수에 저장됩니다. 이 값을 선택하면 동적 옵션 VariableMessage가 표시됩니다.
문자열 메시지 메시지는 메시지 큐 태스크에 저장됩니다. 이 값을 선택하면 동적 옵션 StringMessage가 표시됩니다.
변수에 대한 문자열 메시지 메시지

이 값을 선택하면 동적 옵션 StringMessage가 표시됩니다.

MessageType 동적 옵션

MessageType = 데이터 파일 메시지

SaveFileAs
사용할 파일의 경로를 입력하거나 줄임표 단추(...)를 클릭한 다음, 파일을 찾습니다.

Overwrite
데이터 파일 메시지의 내용을 저장할 때 기존 파일의 데이터를 덮어쓸지 여부를 나타냅니다. 기본값은 False입니다.

Filter
필터를 메시지에 적용할지 여부를 지정합니다. 이 속성의 옵션은 다음 테이블에 나열되어 있습니다.

설명
필터 없음 태스크에서 메시지를 필터링하지 않습니다. 값을 선택하면 동적 옵션인 IdentifierReadOnly가 표시됩니다.
패키지에서 메시지는 지정된 패키지에서 메시지만 받습니다. 값을 선택하면 동적 옵션인 Identifier가 표시됩니다.

동적 옵션 필터링

필터 = 필터 없음

IdentifierReadOnly
이 옵션은 읽기 전용입니다. 필터 속성이 이전에 설정된 경우 비어 있거나 패키지의 GUID를 포함할 수 있습니다.

필터 = 패키지에서

ID
필터를 적용하도록 선택한 경우 메시지를 받을 수 있는 패키지의 고유 식별자를 입력하거나 줄임표 단추 (...)를 클릭한 다음 패키지를 지정합니다.

관련 주제: 패키지 선택

MessageType = 변수 메시지

Filter
필터를 메시지에 적용할지 여부를 지정합니다. 이 속성의 옵션은 다음 테이블에 나열되어 있습니다.

설명
필터 없음 태스크에서 메시지를 필터링하지 않습니다. 값을 선택하면 동적 옵션인 IdentifierReadOnly가 표시됩니다.
패키지에서 메시지는 지정된 패키지에서 메시지만 받습니다. 값을 선택하면 동적 옵션인 Identifier가 표시됩니다.

변수
변수 이름을 입력하거나 <새 변수...>를 클릭한 다음, 새 변수를 구성합니다.

관련 주제: 변수 추가

동적 옵션 필터링

필터 = 필터 없음

IdentifierReadOnly
이 옵션은 비어 있습니다.

필터 = 패키지에서

ID
필터를 적용하도록 선택한 경우 메시지를 받을 수 있는 패키지의 고유 식별자를 입력하거나 줄임표 단추 (...)를 클릭한 다음 패키지를 지정합니다.

관련 주제: 패키지 선택

MessageType = 문자열 메시지

비교
필터를 메시지에 적용할지 여부를 지정합니다. 이 속성의 옵션은 다음 테이블에 나열되어 있습니다.

설명
없음 메시지를 비교하지 않습니다.
정확히 일치 메시지가 CompareString 옵션의 문자열과 정확히 일치해야 합니다.
대/소문자 무시 메시지는 CompareString 옵션의 문자열과 일치해야 하지만 비교는 대/소문자를 구분하지 않습니다.
포함 메시지는 CompareString 옵션에 문자열을 포함해야 합니다.

CompareString
비교 옵션이 없음으로 설정되지 않는 한 메시지가 비교되는 문자열을 제공합니다.

MessageType = 변수에 대한 문자열 메시지

비교
필터를 메시지에 적용할지 여부를 지정합니다. 이 속성의 옵션은 다음 테이블에 나열되어 있습니다.

설명
없음 메시지를 비교하지 않습니다.
정확히 일치 메시지가 CompareString 옵션의 문자열과 정확히 일치해야 합니다.
대/소문자 무시 메시지는 CompareString 옵션의 문자열과 일치해야 하지만 비교는 대/소문자를 구분하지 않습니다.
포함 메시지는 CompareString 옵션에 문자열을 포함해야 합니다.

CompareString
비교 옵션이 없음으로 설정되지 않는 한 메시지가 비교되는 문자열을 제공합니다.

변수
받은 메시지를 보관할 변수의 이름을 입력하거나 <새 변수...>를 클릭한 다음, 새 변수를 구성합니다.

관련 주제: 변수 추가

변수 선택

변수 선택 대화 상자를 사용하여 메시지 큐 태스크의 메시지 보내기 작업에 사용할 변수를 지정할 수 있습니다. 사용 가능한 변수 목록에는 메시지 큐 태스크 또는 해당 부모 컨테이너의 범위에 있는 시스템 및 사용자 정의 변수가 포함됩니다. 이 작업은 선택한 변수 목록의 변수를 사용합니다.

옵션

사용 가능한 변수
변수를 하나 이상 선택합니다.

선택한 변수
변수를 하나 이상 선택합니다.

오른쪽 화살표
선택한 변수를 선택한 변수 목록으로 이동합니다.

왼쪽 화살표
선택한 변수를 사용 가능한 변수 목록으로 다시 이동합니다.

새 변수
새 변수를 만듭니다.

관련 주제: 변수 추가

참고 항목

Integration Services 태스크
제어 흐름