Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
SSIS Integration Runtime no Azure Data Factory
A Tarefa Fila de Mensagens permite usar o serviço de Enfileiramento de Mensagens (também conhecido como MSMQ) para enviar e receber mensagens entre pacotes do SQL Server Integration Services ou enviar mensagens a uma fila de aplicativos processada por um aplicativo personalizado. Essas mensagens podem adotar a forma de texto simples, arquivos ou variáveis e seus valores.
Usando a tarefa Fila de Mensagens, você pode coordenar operações em toda sua empresa. As mensagens podem ser enfileiradas e entregues mais tarde se o destino estiver indisponível ou ocupado; por exemplo, a tarefa pode enfileirar mensagens para o laptop offline de representantes de vendas que recebem suas mensagens quando se conectarem à rede. Você pode usar a tarefa Fila de Mensagens para os seguintes propósitos:
Adiar a execução da tarefa até que outros pacotes se registrem. Por exemplo, depois da manutenção noturna em cada uma de suas lojas, uma tarefa de Fila de Mensagens envia uma mensagem para o computador corporativo. Um pacote que é executado no computador corporativo contém tarefas de Fila de Mensagens, cada uma esperando por uma mensagem de um site de varejo específico. Quando uma mensagem de um site é recebida, uma tarefa faz upload de dados desse site. Depois que todos os sites confirmarem presença, o pacote calcula os totais de resumo.
Enviando arquivos de dados ao computador que os processa. Por exemplo, as informações geradas pelo caixa registrador de um restaurante podem ser enviadas em uma mensagem com um arquivo de dados para o sistema corporativo de folha de pagamento, do qual são extraídos os dados sobre as gorjetas de cada garçom.
Distribuindo arquivos para toda a sua empresa. Por exemplo, um pacote pode usar uma tarefa de Fila de Mensagens para enviar um arquivo de pacote a outro computador. Um pacote que é executado no computador de destino usa então uma tarefa de Fila de Mensagens para recuperar e salvar o pacote localmente.
Quando estiver enviando ou recebendo mensagens, a tarefa Fila de Mensagens usa um dos quatro tipos de mensagem: arquivo de dados, cadeia, mensagem de cadeia a variável, ou variável. O tipo de mensagem “mensagem de cadeia de caracteres para variável” só pode ser usada ao receber mensagens.
A tarefa usa um gerenciador de conexões MSMQ para se conectar à uma fila de mensagens. Para obter mais informações, consulte Gerenciador de Conexões MSMQ. Para obter mais informações sobre o serviço de enfileiramento de mensagens, consulte a MSDN Library.
A tarefa Fila de Mensagens requer que o serviço Integration Services esteja instalado. Alguns componentes do SQL Server que você pode selecionar para instalação na página Componentes a Serem Instalados ou na página Seleção de Recursos do Assistente de Instalação SQL Server instalam um subconjunto parcial de componentes do Integration Services . Esses componentes são úteis para tarefas específicas, mas a funcionalidade do Integration Services será limitada. Por exemplo, a opção SQL Server Data Tools (SSDT) instala os componentes Integration Services necessários para projetar um pacote, mas o serviço Integration Services não é instalado e, portanto, a tarefa Fila de Mensagens não é funcional. Para assegurar uma instalação completa de Integration Services, você deve selecionar Integration Services na página Componentes a Serem Instalados . Para obter mais informações sobre como instalar e executar a tarefa Fila de Mensagens, consulte Instalar o Integration Services.
Observação
A tarefa Fila de Mensagens não obedece ao Padrão Federal de Processamento de Informações (FIPS) 140-2 quando o sistema operacional do computador é configurado em modo FIPS e a tarefa usa criptografia. Se a tarefa Fila de Mensagens não usar criptografia, a tarefa poderá ser executada com êxito.
Tipos de mensagem
Você pode configurar os tipos de mensagem que a tarefa Fila de Mensagens oferece dos seguintes modos:
A mensagemData file especifica que um arquivo contém a mensagem. Ao receber mensagens, você pode configurar a tarefa para gravar o arquivo, pode substituir um arquivo existente e pode especificar o pacote do qual a tarefa pode receber mensagens.
A mensagemString especifica a mensagem como uma cadeia de caracteres. Ao receber mensagens, você pode configurar a tarefa para comparar a cadeia de caracteres recebida com uma cadeia de caracteres definida pelo usuário e entrar em ação dependendo da comparação. A comparação de cadeias de caracteres pode ser exata, diferenciar maiúsculas e minúsculas ou não diferenciar maiúsculas e minúsculas, ou usar uma subcadeia.
String message to variable especifica a mensagem de fonte como uma cadeia de caracteres que é enviada a uma variável de destino. Você pode configurar a tarefa para comparar a cadeia de caracteres recebida com uma cadeia de caracteres definida pelo usuário usando uma comparação exata, que não pode diferenciar maiúsculas e minúsculas ou subcadeia. Esse tipo de mensagem só está disponível quando a tarefa estiver recebendo mensagens.
Variable especifica que a mensagem contém uma ou mais variáveis. Você pode configurar a tarefa para especificar os nomes das variáveis incluídas na mensagem. Ao receber mensagens, você pode configurar a tarefa para especificar o pacote do qual ela pode receber mensagens e a variável que será o destino da mensagem.
enviando mensagens
Ao configurar a tarefa de Fila de Mensagens para enviar mensagens, você pode usar um dos algoritmos de criptografia atualmente suportados pela tecnologia Message Queuing, RC2 ou RC4, para criptografar a mensagem. Ambos os algoritmos de criptografia agora são considerados criptograficamente fracos em comparação com algoritmos mais recentes, aos quais a tecnologia de enfileiramento de mensagens ainda não oferece suporte. Então, você deve considerar cuidadosamente suas necessidades de criptografia ao enviar mensagens que usam a tarefa Fila de Mensagens.
recebendo mensagens
Ao receber mensagens, a tarefa Fila de Mensagens pode ser configurada dos seguintes modos:
Ignorar a mensagem ou remover a mensagem da fila.
Especificar um tempo limite.
Falha se ocorrer um tempo limite.
Sobrescrever um arquivo existente, caso a mensagem esteja armazenada em um arquivo de dados.
Gravar o arquivo de mensagem com um nome de arquivo diferente, se a mensagem usar o tipo Data file message .
Mensagens de registro personalizadas disponíveis na tarefa Fila de Mensagens
A tabela a seguir relaciona as entradas de log personalizadas para a tarefa Fila de Mensagens. Para obter mais informações, consulte Log do SSIS (Integration Services).
| Entrada de log | Descrição |
|---|---|
| MSMQAfterOpen | Indica que a tarefa finalizou a abertura da fila de mensagens. |
| MSMQBeforeOpen | Indica que a tarefa começou a abrir a fila de mensagens. |
| MSMQBeginReceive | Indica que a tarefa começou a receber uma mensagem. |
| MSMQBeginSend | Indica que a tarefa começou a enviar uma mensagem. |
| MSMQEndReceive | Indica que a tarefa terminou de receber uma mensagem. |
| MSMQEndSend | Indica que a tarefa terminou de enviar uma mensagem. |
| MSMQTaskInfo | Fornece informações descritivas sobre a tarefa. |
| MSMQTaskTimeOut | Indica que o tempo limite da tarefa foi esgotado. |
Configuração da tarefa Fila de Mensagens
Você pode definir propriedades pelo Designer do SSIS ou programaticamente. Para obter mais informações sobre as propriedades que podem ser definidas no SSIS Designer, clique no tópico a seguir:
Para obter mais informações sobre como definir essas propriedades programaticamente, consulte a documentação da classe Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask no Guia do Desenvolvedor.
Tarefas Relacionadas
Para obter mais informações sobre como definir essas propriedades no Designer do SSIS , consulte Definir as propriedades de uma tarefa ou um contêiner.
Editor de Tarefa da Fila de Mensagens (Página Geral)
Use a página Geral da caixa de diálogo do Editor da Tarefa Fila de Mensagens para nomear e descrever a tarefa Fila de Mensagens, especificar o formato da mensagem e indicar se a tarefa envia ou recebe mensagens.
Opções
Nome
Forneça um nome exclusivo para a tarefa Fila de Mensagens. Esse nome é usado como rótulo no ícone de tarefa.
Observação
Os nomes das tarefas devem ser exclusivos em um pacote.
Descrição
Digite uma descrição para a tarefa Fila de Mensagens.
Use2000Format
Indique se deseja usar o formato 2000 do serviço de enfileiramento de mensagens (também conhecido como MSMQ). O padrão é False.
MSMQConnection
Selecione um gerenciador de conexões de MSMQ existente ou clique em <Nova conexão...> para criar um novo gerenciador de conexões.
Tópicos relacionados: Gerenciador de conexões MSMQ, Editor do Gerenciador de conexões MSMQ
Mensagem
Especifique se a tarefa Fila de Mensagens envia ou recebe mensagens. Se você selecionar Enviar mensagem, será listada a página Enviar no painel esquerdo da caixa de diálogo; se você selecionar Receber mensagem, será listada a página Receber. Por padrão, esse valor está definido como Enviar mensagem.
Editor de Tarefa da Fila de Mensagens (página de envio)
Use a página Enviar da caixa de diálogo Editor da Tarefa Fila de Mensagens para configurar uma tarefa de Fila de Mensagens para enviar mensagens de um pacote do Microsoft SQL Server Integration Services.
Opções
UseEncryption
Indique se a mensagem deve ser criptografada. O padrão é False.
EncryptionAlgorithm
Se você escolher usar criptografia, especifique o nome do algoritmo de criptografia a ser utilizado. A tarefa Fila de Mensagens pode usar os algoritmos RC2 e RC4. O padrão é RC2.
Observação
O algoritmo RC4 tem suporte somente para compatibilidade com versões anteriores. O novo material só pode ser criptografado por meio do algoritmo RC4 ou RC4_128 quando o banco de dados está no nível de compatibilidade 90 ou 100. (Não recomendável.) Use um algoritmo mais recente; por exemplo, um dos algoritmos AES. Na versão atual do SQL Server, o material criptografado por meio do algoritmo RC4 ou RC4_128 pode ser descriptografado em qualquer nível de compatibilidade.
Importante
Estes são os algoritmos de criptografia compatíveis com a tecnologia Message Queuing (também conhecida como MSMQ). Agora, ambos os algoritmos de criptografia são considerados criptograficamente fracos em comparação com algoritmos mais novos, aos quais o Enfileiramento de Mensagens ainda não oferece suporte. Então, você deve considerar cuidadosamente suas necessidades de criptografia ao enviar mensagens que usam a tarefa Fila de Mensagens.
MessageType
Selecione o tipo de mensagem. As opções dessa propriedade são listadas na tabela a seguir.
| Valor | Descrição |
|---|---|
| Mensagem do arquivo de dados | A mensagem é armazenada em um arquivo. Selecionar este valor faz com que seja exibida a opção dinâmica DataFileMessage. |
| Mensagem variável | A mensagem é armazenada em uma variável. Selecionar este valor faz com que seja exibida a opção dinâmica VariableMessage. |
| Mensagem de cadeia de caracteres | A mensagem é armazenada na tarefa Message Queue. Selecionar este valor faz com que seja exibida a opção dinâmica StringMessage. |
Opções dinâmicas de MessageType
MessageType = Mensagem de arquivo de dados
DataFileMessage
Digite o caminho do arquivo de dados ou clique nas reticências (…) e localize o arquivo.
MessageType = Mensagem variável
VariableMessage
Digite os nomes de variáveis ou clique nas reticências (...) e, em seguida, selecione as variáveis. As variáveis são separadas por vírgulas.
Tópicos relacionados: Selecionar variáveis
MessageType = Mensagem de cadeia de caracteres
StringMessage
Digite a mensagem de cadeia de caracteres ou clique nas reticências (...) e digite a mensagem na caixa de diálogo Inserir Mensagem de Cadeia de Caracteres.
Editor de Tarefa de Fila de Mensagens (Página de Recebimento)
Use a página Receber da caixa de diálogo Editor de Tarefa de Fila de Mensagens para configurar uma tarefa de Fila de Mensagens para receber mensagens do Microsoft Message Queuing (MSMQ).
Opções
Remover da fila de mensagens
Indique se a mensagem deve ser removida da fila depois de ser recebida. Por padrão, esse valor é definido como False.
ErrorIfMessageTimeOut
Indique se a tarefa falha quando a mensagem expira, exibindo uma mensagem de erro. O padrão é False.
TimeoutAfter
Se você optar por exibir uma mensagem de erro quando uma tarefa falha, especifique quantos segundos esperar antes de ser exibida a mensagem de tempo limite ultrapassado.
MessageType
Selecione o tipo de mensagem. As opções dessa propriedade são listadas na tabela a seguir.
| Valor | Descrição |
|---|---|
| Mensagem do arquivo de dados | A mensagem é armazenada em um arquivo. Selecionar este valor faz com que seja exibida a opção dinâmica DataFileMessage. |
| Mensagem variável | A mensagem é armazenada em uma variável. Selecionar este valor faz com que seja exibida a opção dinâmica VariableMessage. |
| Mensagem de cadeia de caracteres | A mensagem é armazenada na tarefa Message Queue. Selecionar este valor faz com que seja exibida a opção dinâmica StringMessage. |
| Mensagem de cadeia de caracteres para variável | A mensagem Selecionar este valor faz com que seja exibida a opção dinâmica StringMessage. |
Opções dinâmicas de MessageType
MessageType = Mensagem de arquivo de dados
SaveFileAs
Digite o caminho do arquivo a ser usado ou clique no botão de reticências (...) e, em seguida, localize o arquivo.
Overwrite
Indique se os dados de um arquivo existente devem ser sobrescritos ao salvar o conteúdo de uma mensagem de arquivo de dados. O padrão é False.
Filter
Especifique se deve ser aplicado um filtro à mensagem. As opções dessa propriedade são listadas na tabela a seguir.
| Valor | Descrição |
|---|---|
| Sem-filtro | A tarefa não filtra as mensagens. Selecionar este valor faz com que seja exibida a opção dinâmica IdentifierReadOnly. |
| Do pacote | A mensagem recebe somente mensagens do pacote especificado. Selecionar este valor faz com que seja exibida a opção dinâmica Identifier. |
Opções dinâmicas do filtro
Filtrar = Sem-filtro
IdentifierReadOnly
Esta opção é somente leitura. Pode estar vazio ou conter o GUID de um pacote caso a propriedade Filter tenha sido definida anteriormente.
Filtrar = Do pacote
Identificador
Se você optar por aplicar um filtro, digite o identificador exclusivo do pacote do qual se podem receber mensagens ou clique no botão de reticências (...) e, em seguida, especifique o pacote.
Tópicos relacionados:Selecionar um pacote
MessageType = Mensagem variável
Filter
Especifique se deve ser aplicado um filtro às mensagens. As opções dessa propriedade são listadas na tabela a seguir.
| Valor | Descrição |
|---|---|
| Sem-filtro | A tarefa não filtra as mensagens. Selecionar este valor faz com que seja exibida a opção dinâmica IdentifierReadOnly. |
| Do pacote | A mensagem recebe somente mensagens do pacote especificado. Selecionar este valor faz com que seja exibida a opção dinâmica Identifier. |
Variável
Digite o nome da variável ou clique em <Nova variável...> e configure uma variável nova.
Tópicos relacionados:Adicionar variável
Opções dinâmicas do filtro
Filtrar = Sem-filtro
IdentifierReadOnly
Esta opção fica em branco.
Filtrar = Do pacote
Identificador
Se você optar por aplicar um filtro, digite o identificador exclusivo do pacote do qual se podem receber mensagens ou clique no botão de reticências (...) e, em seguida, especifique o pacote.
Tópicos relacionados:Selecionar um pacote
MessageType = Mensagem de cadeia de caracteres
Comparar
Especifique se deve ser aplicado um filtro às mensagens. As opções dessa propriedade são listadas na tabela a seguir.
| Valor | Descrição |
|---|---|
| Nenhuma | As mensagens não são comparadas. |
| Correspondência exata | As mensagens devem corresponder exatamente à cadeia de caracteres na opção CompareString . |
| Ignora maiúsculas e minúsculas | A mensagem deve corresponder ao texto definido na opção CompareString, mas a comparação não diferencia entre maiúsculas e minúsculas. |
| Contém | A mensagem deve conter a cadeia de caracteres na opção CompareString . |
CompareString
A menos que a opção Comparar esteja definida como Nenhum, forneça a cadeia de caracteres com a qual a mensagem é comparada.
MessageType = Mensagem de cadeia de caracteres para variável
Comparar
Especifique se deve ser aplicado um filtro às mensagens. As opções dessa propriedade são listadas na tabela a seguir.
| Valor | Descrição |
|---|---|
| Nenhuma | As mensagens não são comparadas. |
| Correspondência exata | A mensagem deve corresponder exatamente à cadeia de caracteres na opção CompareString . |
| Ignora maiúsculas e minúsculas | A mensagem deve corresponder à cadeia de caracteres da opção CompareString , mas a comparação não diferencia maiúsculas e minúsculas. |
| Contém | A mensagem deve conter a cadeia de caracteres na opção CompareString . |
CompareString
A menos que a opção Comparar esteja definida como Nenhum, forneça a cadeia de caracteres com a qual a mensagem é comparada.
Variável
Digite o nome da variável para manter a mensagem recebida ou clique em <Nova variável...> e configure uma variável nova.
Tópicos relacionados:Adicionar variável
Selecionar variáveis
Use a caixa de diálogo Selecionar Variáveis para especificar as variáveis a serem usadas em uma operação de envio de mensagem na tarefa Fila de Mensagens. A lista das Variáveis Disponíveis inclui variáveis do sistema e aquelas definidas por usuários que estão no escopo da tarefa Fila de Mensagens ou no seu contêiner pai. A tarefa usa as variáveis da lista de Variáveis Selecionadas .
Opções
Variáveis Disponíveis
Selecione uma ou mais variáveis.
Variáveis Selecionadas
Selecione uma ou mais variáveis.
Setas à direita
Mova as variáveis selecionadas para a lista das Variáveis Selecionadas .
Setas para a esquerda
Mova as variáveis selecionadas de volta para a lista das Variáveis Selecionadas .
Nova Variável
Crie uma nova variável.
Tópicos relacionados:Adicionar variável