Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
SSIS Integration Runtime en Azure Data Factory
La tarea Cola de mensajes le permite usar Message Queuing (también conocido como MSMQ) para enviar y recibir mensajes entre paquetes de SQL Server Integration Services, o para enviar mensajes a una cola de aplicación que procesa una aplicación personalizada. Estos mensajes pueden adoptar la forma de texto simple, archivos o variables y sus valores.
Al utilizar la tarea Cola de mensajes, puede coordinar operaciones en toda la empresa. Los mensajes se pueden colocar en cola y enviarse más tarde si el destino no está disponible o está ocupado. Por ejemplo, la tarea puede colocar en cola mensajes para el equipo portátil sin conexión de los representantes de ventas, que reciben sus mensajes cuando se conectan a la red. Puede utilizar la tarea de cola de mensajes para los siguientes fines:
Retrasar la ejecución de la tarea hasta que hayan entrado otros paquetes. Por ejemplo, después del mantenimiento nocturno en cada uno de sus puntos de venta, una tarea de cola de mensajes envía un mensaje a su equipo informático corporativo. Un paquete que se ejecuta en el equipo corporativo contiene tareas de cola de mensajes, cada una de las cuales espera un mensaje de un establecimiento comercial concreto. Cuando llega un mensaje de un sitio, una tarea sube datos de ese sitio. Una vez que todos los sitios se hayan registrado, el paquete calcula los totales resumidos.
Enviar archivos de datos al equipo que los procesa. Por ejemplo, los resultados de la caja registradora de un restaurante pueden enviarse en un mensaje de archivo de datos al sistema de nóminas corporativo, donde se extraen los datos de las propinas de cada camarero.
Distribuir archivos en toda la empresa. Por ejemplo, un paquete puede utilizar una tarea de cola de mensajes para enviar un archivo del paquete a otro equipo. A continuación, un paquete que se ejecuta en el equipo de destino utiliza una tarea de cola de mensajes para recuperar y guardar el paquete localmente.
Al enviar o recibir mensajes, la tarea de cola de mensajes usa uno de estos cuatro tipos de mensajes: archivo de datos, cadena, mensaje de cadena a variable o variable. El tipo de mensaje de cadena para la variable message solo se puede usar al recibir mensajes.
La tarea usa el administrador de conexiones MSMQ para conectarse a una cola de mensajes. Para más información, vea Administrador de conexiones MSMQ. Para obtener más información acerca de Message Queuing, consulte la MSDN Library.
La tarea de Cola de mensajes requiere que esté instalado el servicio Integration Services. Algunos componentes de SQL Server que puede seleccionar para su instalación en la página Componentes para instalar o Selección de características del Asistente para la instalación de SQL Server instalan un subconjunto parcial de componentes de Integration Services . Estos componentes resultan útiles para tareas específicas, pero la funcionalidad de Integration Services estará limitada. Por ejemplo, la opción SQL Server Data Tools (SSDT) instala los componentes de Integration Services que se necesitan para diseñar un paquete, pero no se instala el servicio Integration Services y, por tanto, la tarea Cola de mensajes no es funcional. Para garantizar la instalación completa de Integration Services, debe seleccionar Integration Services en la página Componentes para instalar . Para obtener más información sobre cómo instalar y ejecutar la tarea de cola de mensajes, consulte Instalar Integration Services.
Nota
La tarea de cola de mensajes no cumple con la Norma Federal de Procesamiento de la Información (FIPS) 140-2 cuando el sistema operativo del equipo está configurado en modo FIPS y la tarea utiliza cifrado. Si la tarea Cola de mensajes no usa cifrado, se puede ejecutar la tarea correctamente.
Tipos de mensajes
Puede configurar los tipos de mensajes proporcionados por la tarea Message Queue de las siguientes maneras:
El mensajeData file especifica que un archivo contiene el mensaje. Al recibir mensajes, puede configurar la tarea para guardar el archivo, sobrescribir un archivo existente y especificar el paquete desde el cual la tarea puede recibir mensajes.
El mensajeString especifica el mensaje como una cadena. Al recibir mensajes, puede configurar la tarea para comparar la cadena recibida con una cadena definida por el usuario y actuar según la comparación. La comparación de cadenas puede ser exacta, ser sensible o no a mayúsculas y minúsculas, o usar una subcadena.
String message to variable especifica el mensaje de origen como una cadena que se envía a una variable de destino. Puede configurar la tarea para comparar la cadena recibida con una cadena definida por el usuario mediante una comparación exacta, sin distinguir entre mayúsculas y minúsculas o por subcadena. Este tipo de mensaje está disponible solamente cuando la tarea recibe mensajes.
Variable especifica que el mensaje contiene una o más variables. Puede configurar la tarea para especificar los nombres de las variables que se incluyen en el mensaje. Al recibir mensajes, puede configurar la tarea para especificar el paquete desde el cual se pueden recibir mensajes y la variable que es el destino del mensaje.
enviar mensajes
Al configurar la tarea de Cola de mensajes para enviar mensajes, puede usar uno de los algoritmos de cifrado compatibles actualmente con la tecnología Message Queuing, RC2 y RC4, para cifrar el mensaje. Ambos de estos algoritmos de cifrado se consideran ahora criptográficamente débiles en comparación con algoritmos más recientes que la tecnología Message Queuing aún no admite. Por tanto, debe considerar cuidadosamente sus necesidades criptográficas al enviar mensajes mediante la tarea de cola de mensajes.
recibir mensajes
Al recibir mensajes, la tarea Cola de mensajes se puede configurar de las siguientes maneras:
Omitir el mensaje o eliminar el mensaje de la cola.
Especificar un tiempo de espera.
Generar un error cuando se agota el tiempo de espera.
Sobrescribir un archivo existente, si el mensaje se guarda en un Data file.
Guardar el archivo de mensajes con un nombre de archivo diferente, si el mensaje usa el tipo Data file message .
Mensajes de registro personalizados disponibles para la tarea de cola de mensajes
La siguiente tabla contiene las entradas del registro personalizadas para la tarea Cola de mensajes. Para más información, consulte Registro de Integration Services (SSIS).
| Entrada de registro | Descripción |
|---|---|
| MSMQAfterOpen | Indica que la tarea terminó de abrir la cola de mensajes. |
| MSMQBeforeOpen | Indica que la tarea comenzó a abrir la cola de mensajes. |
| MSMQBeginReceive | Indica que la tarea comenzó a recibir un mensaje. |
| MSMQBeginSend | Indica que la tarea comenzó a enviar un mensaje. |
| MSMQEndReceive | Indica que la tarea finalizó la recepción de un mensaje. |
| MSMQEndSend | Indica que la tarea finalizó el envío de un mensaje. |
| MSMQTaskInfo | Proporciona información descriptiva sobre la tarea. |
| MSMQTaskTimeOut | Indica que se superó el tiempo de espera de la tarea. |
Configuración de la tarea de cola de mensajes
Puede establecer propiedades a través del Diseñador de SSIS o mediante programación. Para obtener información acerca de las propiedades que puede establecer en el Diseñador SSIS , haga clic en el tema siguiente:
Para obtener información sobre cómo establecer estas propiedades mediante programación, vea la documentación de la clase Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask en la Guía del desarrollador.
Tareas relacionadas
Para más información sobre cómo establecer estas propiedades en el Diseñador de SSIS , vea Establecer las propiedades de tareas o contenedores.
Editor de tareas de cola de mensajes (página General)
Utilice la página General del cuadro de diálogo Editor de tareas de Cola de mensajes para poner nombre a la tarea de Cola de mensajes y describirla, especificar el formato del mensaje e indicar si la tarea envía o recibe mensajes.
Opciones
Nombre
Proporcione un nombre único para la tarea de Cola de mensajes. Este nombre se utiliza como etiqueta en el icono de tarea.
Nota
Los nombres de tarea deben ser únicos en un paquete.
Descripción
Escriba una descripción de la tarea de cola de mensajes.
Use2000Format
Indica si se debe usar el formato de Message Queuing 2000 (también conocido como MSMQ). El valor predeterminado es False.
MSMQConnection
Seleccione un administrador de conexiones MSMQ existente o haga clic en <Nueva conexión…> para crear un administrador de conexiones.
Temas relacionados: Administrador de conexiones MSMQ, Editor del administrador de conexiones MSMQ
Mensaje
Especifique si la tarea Cola de mensajes envía o recibe mensajes. Si selecciona Enviar mensaje, la página Enviar se agrega a la lista del panel izquierdo del cuadro de diálogo. Si selecciona Recibir mensaje, se agrega la página Recibir. De forma predeterminada, este valor está establecido en Enviar mensaje.
Editor de tareas de cola de mensajes (página de envío)
Utilice la página Enviar del cuadro de diálogo Editor de tareas de Cola de mensajes para configurar una tarea de Cola de mensajes para enviar mensajes desde un paquete de Microsoft SQL Server Integration Services.
Opciones
UseEncryption
Indica si se debe cifrar el mensaje. El valor predeterminado es False.
EncryptionAlgorithm
Si opta por usar cifrado, especifique el nombre del algoritmo de cifrado que debe utilizarse. La tarea de cola de mensajes puede utilizar los algoritmos RC2 y RC4. El valor predeterminado es RC2.
Nota
El algoritmo RC4 se admite únicamente por razones de compatibilidad con versiones anteriores. El material nuevo solo se puede cifrar con RC4 o RC4_128 cuando la base de datos tenga el nivel de compatibilidad 90 o 100. (No se recomienda). Use un algoritmo más reciente como uno de los algoritmos AES en su lugar. En la versión actual de SQL Server, el material cifrado con RC4 o RC4_128 se puede descifrar en cualquier nivel de compatibilidad.
Importante
Estos son los algoritmos de cifrado compatibles con la tecnología Message Queuing (también conocida como MSMQ). Ambos algoritmos de cifrado se consideran en estos momentos criptográficamente menos seguros que otros algoritmos más recientes con los que Message Queue Server aún no es compatible. Por tanto, debe considerar cuidadosamente sus necesidades criptográficas al enviar mensajes mediante la tarea de cola de mensajes.
MessageType
Seleccione el tipo de mensaje. Esta propiedad presenta las opciones indicadas en la siguiente tabla.
| Valor | Descripción |
|---|---|
| Mensaje del archivo de datos | El mensaje se almacena en un archivo. Al seleccionar este valor se muestra la opción dinámica DataFileMessage. |
| Mensaje variable | El mensaje se almacena en una variable. Al seleccionar este valor se muestra la opción dinámica VariableMessage. |
| Mensaje de cadena | El mensaje se almacena en la tarea Message Queue. Al seleccionar este valor se muestra la opción dinámica StringMessage. |
Opciones dinámicas de MessageType
MessageType = Mensaje de archivo de datos
DataFileMessage
Escriba la ruta de acceso del archivo de datos, o bien haga clic en el botón de puntos suspensivos (…) y busque el archivo.
MessageType = Mensaje variable
VariableMessage
Escriba los nombres de variable, o bien haga clic en el botón de puntos suspensivos (…) y seleccione las variables. Las variables se separan con comas.
Temas relacionados: Seleccionar variables
MessageType = Mensaje de cadena
StringMessage
Escriba el mensaje de cadena, o bien haga clic en el botón de puntos suspensivos (…) y escriba el mensaje en el cuadro de diálogo Escribir mensaje de cadena.
Editor de tareas de cola de mensajes (página de recepción)
Use la página Recibir del cuadro de diálogo Editor de tareas de Cola de mensajes para configurar una tarea de Cola de mensajes para recibir mensajes de Microsoft Message Queuing (MSMQ).
Opciones
RemoveFromMessageQueue
Indique si desea eliminar el mensaje de la cola una vez recibido. De manera predeterminada, este valor se establece en False.
ErrorIfMessageTimeOut
Indique si la tarea falla cuando el mensaje supera el tiempo de espera y se muestra un mensaje de error. El valor predeterminado es False.
TimeoutAfter
Si elige mostrar un mensaje de error al producirse errores en la tarea, indique el número de segundos que deben transcurrir antes de mostrar el mensaje de tiempo de espera.
MessageType
Seleccione el tipo de mensaje. Esta propiedad presenta las opciones indicadas en la siguiente tabla.
| Valor | Descripción |
|---|---|
| Mensaje del archivo de datos | El mensaje se almacena en un archivo. Al seleccionar este valor se muestra la opción dinámica DataFileMessage. |
| Mensaje variable | El mensaje se almacena en una variable. Al seleccionar este valor se muestra la opción dinámica VariableMessage. |
| Mensaje de cadena | El mensaje se almacena en la tarea Message Queue. Al seleccionar este valor se muestra la opción dinámica StringMessage. |
| Mensaje de cadena para variable | El mensaje. Al seleccionar este valor se muestra la opción dinámica StringMessage. |
Opciones dinámicas de MessageType
MessageType = Mensaje de archivo de datos
SaveFileAs
Escriba la ruta del archivo que quiere usar, o bien haga clic en el botón de puntos suspensivos (…) para buscar el archivo.
Sobrescribir
Indique si desea sobrescribir los datos de un archivo existente al guardar el contenido del mensaje de archivo de datos. El valor predeterminado es False.
Filter
Indique si desea aplicar un filtro al mensaje. Esta propiedad presenta las opciones indicadas en la siguiente tabla.
| Valor | Descripción |
|---|---|
| Sin filtro | La tarea no filtra mensajes. Al seleccionar este valor se muestra la opción dinámica IdentifierReadOnly. |
| Del paquete | El mensaje solo recibe mensajes del paquete seleccionado. Al seleccionar este valor se muestra la opción dinámica Identifier. |
Opciones dinámicas de Filtro
Filtro = Sin filtro
IdentifierReadOnly
Esta opción es de solo lectura. Podría estar en blanco o contener el GUID de un paquete si se ha establecido anteriormente la propiedad Filtro.
Filtro = Desde paquete
Identificador
Si decide aplicar un filtro, escriba el identificador único del paquete del que se recibirán los mensajes, o bien haga clic en el botón de puntos suspensivos (…) y, después, especifique el paquete.
Temas relacionados:Seleccionar un paquete
MessageType = Mensaje variable
Filter
Especifica si se desea aplicar un filtro a los mensajes. Esta propiedad presenta las opciones indicadas en la siguiente tabla.
| Valor | Descripción |
|---|---|
| Sin filtro | La tarea no filtra mensajes. Al seleccionar este valor se muestra la opción dinámica IdentifierReadOnly. |
| Del paquete | El mensaje solo recibe mensajes del paquete seleccionado. Al seleccionar este valor se muestra la opción dinámica Identifier. |
Variable
Escriba el nombre de la variable, o bien haga clic en <Nueva variable…> y configure una nueva variable.
Temas relacionados:Agregar variable
Opciones dinámicas de Filtro
Filtro = Sin filtro
IdentifierReadOnly
Esta opción está en blanco.
Filtro = Desde paquete
Identificador
Si decide aplicar un filtro, escriba el identificador único del paquete del que se recibirán los mensajes, o bien haga clic en el botón de puntos suspensivos (…) y, después, especifique el paquete.
Temas relacionados:Seleccionar un paquete
MessageType = Mensaje de cadena
Comparar
Especifica si se desea aplicar un filtro a los mensajes. Esta propiedad presenta las opciones indicadas en la siguiente tabla.
| Valor | Descripción |
|---|---|
| None | Los mensajes no se comparan. |
| Coincidencia exacta | Los mensajes deben coincidir exactamente con la cadena de la opción CompareString . |
| Omitir mayúsculas y minúsculas | El mensaje debe coincidir con la cadena de la opción CompareString, pero la comparación no distingue entre mayúsculas y minúsculas. |
| Contiene | El mensaje debe contener la cadena de la opción CompareString . |
CompareString
A menos que la opción Comparar se haya establecido en Ninguno, deberá indicar la cadena con la que se comparará el mensaje.
MessageType = Mensaje de cadena para variable
Comparar
Especifica si se desea aplicar un filtro a los mensajes. Esta propiedad presenta las opciones indicadas en la siguiente tabla.
| Valor | Descripción |
|---|---|
| None | Los mensajes no se comparan. |
| Coincidencia exacta | Los mensajes deben coincidir exactamente con la cadena de la opción CompareString . |
| Omitir mayúsculas y minúsculas | El mensaje debe coincidir con la cadena en la opción CompareString, pero la comparación no distingue mayúsculas de minúsculas. |
| Contiene | El mensaje debe contener la cadena de la opción CompareString . |
CompareString
A menos que la opción Comparar se haya establecido en Ninguno, deberá indicar la cadena con la que se comparará el mensaje.
Variable
Escriba el nombre de la variable para retener el mensaje recibido, o bien haga clic en <Nueva variable…> y configure una nueva variable.
Temas relacionados:Agregar variable
Seleccionar variables
Utilice el cuadro de diálogo Seleccionar variables para especificar las variables que se van a utilizar en una operación de envío de mensaje en la tarea Cola de mensajes. La lista Variables disponibles incluye variables del sistema y definidas por el usuario que están dentro del ámbito de la tarea Cola de mensajes o de su contenedor padre. La tarea utiliza las variables de la lista Variables seleccionadas .
Opciones
Variables disponibles
Seleccione una o más variables.
Variables seleccionadas
Seleccione una o más variables.
Flechas derechas
Mueva las variables seleccionadas a la lista Variables seleccionadas .
Flechas izquierdas
Mueva las variables seleccionadas nuevamente a la lista Variables disponibles .
Nueva variable
Cree una nueva variable.
Temas relacionados:Agregar variable