Message Queue Task

Data Transformation Services

Data Transformation Services

Message Queue Task

The Message Queue task allows you to use Message Queuing to send and receive messages between Data Transformation Services (DTS) packages. These messages can take the form of simple text, files, or global variables and their values. Messages can be sent when the destination is unavailable or busy, for example, from or to the laptop of a sales representative. The Message Queue task therefore offers you the ability to asynchronously coordinate operations throughout your enterprise. You can:

  • Delay task execution until other packages have checked in. For example, at each of your retail sites, after nightly maintenance, a message queue task sends a message to your corporate computer. A package running on this computer contains message queue tasks, each waiting for the message from one retail site. When the message arrives, a task is triggered to upload site data. Only after all sites have checked in does the package proceed to compute summary totals.

  • Send data files to the computer responsible for processing them. For example, restaurant cash register output can be sent in a data file message to the corporate payroll system, for waiter tip data extraction.

  • Distribute files throughout your enterprise. For example, one package can use a Message Queue task to send a package file to another computer. A package running on the destination computer can then use a message queue task to retrieve and save the package locally.

  • Split a large job into component parts and parcel them out to several computers, using string or global variable messages to coordinate operations. For example, you can send a global variables message containing the name of a package. On another computer a package uses a Message Queue task, a Dynamic Properties task, and an Execute Package task to execute the requested package.
Transactions and the Message Queue Task

In Microsoft® SQL Server™ 2000, a Message Queue task cannot take part in the package transaction.

There are two types of message queues: transactional and non-transactional. The transactional queue gives you the assurance that each message is delivered exactly once. This feature makes the transactional queue more likely to satisfy current and long-term requirements than the non-transactional queue when you use the Message Queue task. The transactional status of a queue is set at the time the table is created and cannot be changed.