메시지 큐 태스크Message Queue Task

메시지 큐 태스크에서는 MSMQ(메시지 큐)를 사용하여 SQL ServerSQL Server Integration ServicesIntegration Services 패키지 간에 메시지를 보내고 받거나 사용자 지정 응용 프로그램에서 처리되는 응용 프로그램 큐에 메시지를 보낼 수 있습니다.The Message Queue task allows you to use Message Queuing (also known as MSMQ) to send and receive messages between SQL ServerSQL Server Integration ServicesIntegration Services packages, or to send messages to an application queue that is processed by a custom application. 이러한 메시지는 단순한 텍스트, 파일 또는 변수와 해당 값의 형태로 사용될 수 있습니다.These messages can take the form of simple text, files, or variables and their values.

메시지 큐 태스크를 사용하면 회사 전반의 작업을 조정할 수 있습니다.By using the Message Queue task, you can coordinate operations throughout your enterprise. 대상이 없거나 사용 중인 경우에는 메시지를 큐에 저장하고 다음에 배달할 수 있습니다. 예를 들어 네트워크에 연결될 때 메시지를 받는 판매 영업 직원의 랩톱 컴퓨터가 오프라인인 경우 이 태스크는 메시지를 큐에 저장할 수 있습니다.Messages can be queued and delivered later if the destination is unavailable or busy; for example, the task can queue messages for the offline laptop computer of sales representatives, who receive their messages when they connect to the network. 메시지 큐 태스크는 다음 용도로 사용할 수 있습니다.You can use the Message Queue task for the following purposes:

  • 다른 패키지가 체크 인될 때까지 태스크 실행이 지연됩니다.Delaying task execution until other packages check in. 예를 들어 메시지 큐 태스크는 각 소매점 사이트에서 일일 관리가 끝난 후 회사 컴퓨터에 메시지를 보냅니다.For example, after nightly maintenance at each of your retail sites, a Message Queue task sends a message to your corporate computer. 회사 컴퓨터에서 실행되는 패키지에는 특정 소매점 사이트의 메시지를 대기 중인 메시지 큐 태스크가 있습니다.A package running on the corporate computer contains Message Queue tasks, each waiting for a message from a particular retail site. 소매점 사이트의 메시지가 도착하면 태스크가 해당 사이트의 데이터를 업로드합니다.When a message from a site arrives, a task uploads data from that site. 모든 사이트가 체크 인된 다음에는 패키지가 요약 합계를 계산합니다.After all the sites have checked in, the package computes summary totals.

  • 데이터 파일을 처리 컴퓨터로 보냅니다.Sending data files to the computer that processes them. 예를 들어 한 식당에 있는 현금 등록기의 출력을 회사 급여 시스템에 데이터 파일 메시지로 보내서 각 웨이터의 팁에 대한 데이터를 추출할 수 있습니다.For example, the output from a restaurant cash register can be sent in a data file message to the corporate payroll system, where data about each waiter's tips is extracted.

  • 회사 전체에 파일을 배포합니다.Distributing files throughout your enterprise. 예를 들어 패키지는 메시지 큐 태스크를 사용하여 패키지 파일을 다른 컴퓨터에 보낼 수 있습니다.For example, a package can use a Message Queue task to send a package file to another computer. 대상 컴퓨터에서 실행 중인 패키지는 메시지 큐 태스크를 사용하여 패키지를 로컬로 검색하고 저장합니다.A package running on the destination computer then uses a Message Queue task to retrieve and save the package locally.

    메시지를 보내거나 받을 때 메시지 큐 태스크는 데이터 파일, 문자열, 변수에 대한 문자열 메시지 또는 변수 중 하나의 메시지 유형을 사용합니다.When sending or receiving messages, the Message Queue task uses one of four message types: data file, string, string message to variable, or variable. 변수에 대한 문자열 메시지의 메시지 유형은 메시지를 받을 때만 사용할 수 있습니다.The string message to variable message type can be used only when receiving messages.

    이 태스크는 MSMQ 연결 관리자를 사용하여 메시지 큐에 연결합니다.The task uses an MSMQ connection manager to connect to a message queue. 자세한 내용은 MSMQ 연결 관리자를 참조하세요.For more information, see MSMQ Connection Manager. 메시지 큐에 대한 자세한 내용은 MSDN Library를 참조하십시오.For more information about Message Queuing, see the MSDN Library.

    메시지 큐 태스크를 사용하려면 Integration ServicesIntegration Services 서비스가 설치되어 있어야 합니다.The Message Queue task requires that the Integration ServicesIntegration Services service be installed. SQL ServerSQL Server 설치 마법사의 설치할 구성 요소 페이지 또는 기능 선택 페이지에서 선택하여 설치할 수 있는 일부 SQL ServerSQL Server 구성 요소는 Integration ServicesIntegration Services 구성 요소의 일부 하위 집합을 설치합니다.Some SQL ServerSQL Server components that you may select for installation on the Components to Install page or the Feature Selection page of the SQL ServerSQL Server Installation Wizard install a partial subset of Integration ServicesIntegration Services components. 이러한 구성 요소는 특정 태스크에 유용하지만 Integration ServicesIntegration Services 의 기능은 제한됩니다.These components are useful for specific tasks, but the functionality of Integration ServicesIntegration Services will be limited. 예를 들어 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) 옵션을 선택하면 패키지 디자인에 필요한 Integration ServicesIntegration Services 구성 요소가 설치되지만 Integration ServicesIntegration Services 서비스가 설치되지 않기 때문에 메시지 큐 태스크가 작동하지 않습니다.For example, the SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT) option installs the Integration ServicesIntegration Services components required to design a package, but the Integration ServicesIntegration Services service is not installed, and therefore the Message Queue task is not functional. Integration ServicesIntegration Services를 전체 설치하려면 Integration ServicesIntegration Services 설치할 구성 요소 페이지에서 를 선택해야 합니다.To ensure a complete installation of Integration ServicesIntegration Services, you must select Integration ServicesIntegration Services on the Components to Install page. 메시지 큐 태스크 설치 및 실행에 대한 자세한 내용은 Integration Services 설치를 참조하세요.For more information about installing and running the Message Queue task, see Install Integration Services.

참고

컴퓨터의 운영 체제가 FIPS 모드에서 구성되고 태스크에서 암호화를 사용하는 경우 메시지 큐 태스크는 FIPS(Federal Information Processing Standard) 140-2와 호환되지 않습니다.The Message Queue task fails to comply with Federal Information Processing Standard (FIPS) 140-2 when the computer's operating system is configured in FIPS mode and the task uses encryption. 메시지 큐 태스크에서 암호화를 사용하지 않는 경우에는 태스크가 성공적으로 실행됩니다.If the Message Queue task does not use encryption, the task can run successfully.

메시지 유형Message Types

메시지 큐 태스크에서 제공하는 메시지 유형을 다음과 같은 방법으로 구성할 수 있습니다.You can configure the message types that the Message Queue task provides in the following ways:

  • Data file 메시지는 파일에 메시지가 포함되도록 지정합니다.Data file message specifies that a file contains the message. 메시지를 받을 때 파일을 저장하고, 기존 파일을 덮어쓰고, 메시지를 받을 수 있는 태스크의 패키지를 지정하도록 태스크를 구성할 수 있습니다.When receiving messages, you can configure the task to save the file, overwrite an existing file, and specify the package from which the task can receive messages.

  • String 메시지는 메시지를 문자열로 지정합니다.String message specifies the message as a string. 메시지를 받을 때 받은 문자열을 사용자 정의 문자열과 비교하고 비교 결과에 따라 동작을 취하도록 태스크를 구성할 수 있습니다.When receiving messages, you can configure the task to compare the received string with a user-defined string and take action depending on the comparison. 문자열 비교 시에는 전체 문자열 일치 및 대/소문자 구분 여부를 지정하거나 하위 문자열을 사용할 수 있습니다.String comparison can be exact, case-sensitive or case-insensitive, or use a substring.

  • String message to variable 은 원본 메시지를 대상 변수에 전송되는 문자열로 지정합니다.String message to variable specifies the source message as a string that is sent to a destination variable. 전체 문자열 일치, 대/소문자 구분 또는 하위 문자열 비교를 사용하여 받은 문자열을 사용자 정의 문자열과 비교하도록 태스크를 구성할 수 있습니다.You can configure the task to compare the received string with a user-defined string using an exact, case-insensitive, or substring comparison. 이 메시지 유형은 태스크에서 메시지를 받는 경우에만 사용할 수 있습니다.This message type is available only when the task is receiving messages.

  • Variable 은 메시지에 하나 이상의 변수가 포함되도록 지정합니다.Variable specifies that the message contains one or more variables. 메시지에 포함된 변수 이름을 지정하도록 메시지를 구성할 수 있습니다.You can configure the task to specify the names of the variables included in the message. 메시지를 받을 때 메시지를 받아올 패키지와 메시지의 대상인 변수를 모두 지정하도록 태스크를 구성할 수 있습니다.When receiving messages, you can configure the task to specify both the package from which it can receive messages and the variable that is the destination of the message.

메시지 보내기Sending Messages

메시지 큐 태스크에서 메시지를 보내도록 구성할 경우 메시지 큐 기술이 현재 지원하는 RC2 및 RC4 암호화 알고리즘 중 하나를 사용하여 메시지를 암호화할 수 있습니다.When configuring the Message Queue task to send messages, you can use one of the encryption algorithms that are currently supported by the Message Queuing technology, RC2 and RC4, to encrypt the message. 이 두 암호화 알고리즘은 현재 메시지 큐 기술에서 지원하지 않는 최신 알고리즘에 비해 암호화 방식이 취약한 것으로 간주됩니다.Both of these encryption algorithms are now considered cryptographically weak compared to newer algorithms, which Message Queuing technology do not yet support. 따라서 메시지 큐 태스크를 사용하여 메시지를 전송할 때는 암호화 요구를 신중하게 고려해야 합니다.Therefore, you should consider your cryptography needs carefully when sending messages using the Message Queue task.

메시지 받기Receiving Messages

메시지를 받을 때는 다음과 같은 방법으로 메시지 큐 태스크를 구성할 수 있습니다.When receiving messages, the Message Queue task can be configured in the following ways:

  • 메시지를 무시하거나 큐에서 메시지를 제거합니다.Bypassing the message, or removing the message from the queue.

  • 제한 시간을 지정합니다.Specifying a time-out.

  • 제한 시간이 되면 오류가 발생합니다.Failing if a time-out occurs.

  • 메시지가 Data file에 저장된 경우 기존 파일을 덮어씁니다.Overwriting an existing file, if the message is stored in a Data file.

  • 메시지에서 Data file message 유형이 사용되는 경우 메시지 파일을 다른 파일 이름으로 저장합니다.Saving the message file to a different file name, if the message uses the Data file message type.

메시지 큐 태스크에 사용할 수 있는 사용자 지정 로깅 메시지Custom Logging Messages Available on the Message Queue Task

다음 표에서는 메시지 큐 태스크에 대한 사용자 지정 로그 항목을 나열합니다.The following table lists the custom log entries for the Message Queue task. 자세한 내용은 Integration Services(SSIS) 로깅을 참조하세요.For more information, see Integration Services (SSIS) Logging.

로그 항목Log entry DescriptionDescription
MSMQAfterOpenMSMQAfterOpen 태스크에서 메시지 큐 열기를 완료했음을 나타냅니다.Indicates that the task finished opening the message queue.
MSMQBeforeOpenMSMQBeforeOpen 태스크에서 메시지 큐 열기를 시작했음을 나타냅니다.Indicates that the task began to open the message queue.
MSMQBeginReceiveMSMQBeginReceive 태스크에서 메시지 받기를 시작했음을 나타냅니다.Indicates that the task began to receive a message.
MSMQBeginSendMSMQBeginSend 태스크에서 메시지 보내기를 시작했음을 나타냅니다.Indicates that the task began to send a message.
MSMQEndReceiveMSMQEndReceive 태스크에서 메시지 받기를 완료했음을 나타냅니다.Indicates that the task finished receiving a message.
MSMQEndSendMSMQEndSend 태스크에서 메시지 보내기를 완료했음을 나타냅니다.Indicates that the task finished sending a message.
MSMQTaskInfoMSMQTaskInfo 태스크에 대한 설명 정보를 제공합니다.Provides descriptive information about the task.
MSMQTaskTimeOutMSMQTaskTimeOut 태스크 시간이 초과되었음을 나타냅니다.Indicates that the task timed out.

메시지 큐 태스크 구성Configuration of the Message Queue Task

SSISSSIS 디자이너를 사용하거나 프로그래밍 방식으로 속성을 설정할 수 있습니다.You can set properties through SSISSSIS Designer or programmatically. SSISSSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.For information about the properties that you can set in SSISSSIS Designer, click one of the following topics:

SSISSSIS 디자이너에서 이러한 속성을 설정하는 방법에 대한 자세한 내용은 태스크 또는 컨테이너의 속성 설정을 참조하세요.For more information about how to set these properties in SSISSSIS Designer, see Set the Properties of a Task or Container.

관련 항목:See Also

Integration Services 태스크 Integration Services Tasks
제어 흐름Control Flow