Sdílet prostřednictvím


Úloha fronty zpráv

platí pro:SQL Server SSIS Integration Runtime ve službě Azure Data Factory

Úloha Fronta zpráv umožňuje používat službu Řízení front zpráv (označovanou také jako MSMQ) k odesílání a přijímání zpráv mezi balíčky služby SQL Server Integration Services nebo k odesílání zpráv do fronty aplikace, která je zpracována vlastní aplikací. Tyto zprávy můžou mít podobu jednoduchého textu, souborů nebo proměnných a jejich hodnot.

Pomocí úlohy Fronta zpráv můžete koordinovat operace v celém podniku. Zprávy lze zařadit do fronty a doručit později, pokud cíl není dostupný nebo zaneprázdněn; Úkol může například zařadit zprávy do fronty pro offline přenosný počítač obchodních zástupců, kteří dostanou své zprávy, když se připojí k síti. Úlohu Fronta zpráv můžete použít k následujícím účelům:

  • Odkládání provádění úkolů, dokud se ostatní balíčky nepřihlásí. Například po noční údržbě na každé z vašich maloobchodních provozoven odešle úloha ve frontě zpráv zprávu do podnikového počítače. Balíček spuštěný na podnikovém počítači obsahuje úlohy fronty zpráv, z nichž každá čeká na zprávu z konkrétního prodejního webu. Když přijde zpráva z webu, úkol nahraje data z tohoto webu. Po přihlášení všech webů balíček vypočítá souhrnné součty.

  • Odesílání datových souborů do počítače, který je zpracovává. Například výstup z pokladny restaurace může být odeslán ve zprávě datového souboru do podnikového mzdového systému, kde se získávají údaje o spropitném každého číšníka.

  • Distribuce souborů v celém podniku Například balíček může použít úlohu fronty zpráv k odeslání souboru balíčku do jiného počítače. Balíček spuštěný v cílovém počítači pak pomocí úlohy Fronta zpráv načte a uloží balíček místně.

Při odesílání nebo příjmu zpráv používá úloha Fronta zpráv jeden ze čtyř typů zpráv: datový soubor, řetězec, řetězcová zpráva do proměnné nebo proměnná. Řetězcovou zprávu je možné na typ proměnné zprávy použít pouze při příjmu zpráv.

Úloha používá správce připojení MSMQ pro připojení k frontě zpráv. Další informace naleznete v tématu MSMQ Connection Manager. Další informace o službě Řízení front zpráv naleznete v knihovně MSDN.

Úloha Fronta zpráv vyžaduje instalaci služby Integration Services. Některé součásti SYSTÉMU SQL Server, které můžete vybrat pro instalaci na stránce Součásti pro instalaci , nebo na stránce Výběr funkcí Průvodce instalací SYSTÉMU SQL Server nainstalují částečnou podmnožinu součástí integračních služeb. Tyto komponenty jsou užitečné pro konkrétní úlohy, ale funkce integračních služeb budou omezené. Například možnost SQL Server Data Tools (SSDT) nainstaluje součásti integrační služby potřebné k návrhu balíčku, ale služba Integrační služby není nainstalována, a proto úloha fronty zpráv není funkční. Chcete-li zajistit úplnou instalaci integračních služeb, je nutné vybrat integrační služby na stránce Součásti pro instalaci . Další informace o instalaci a spuštění úlohy Fronta zpráv naleznete v tématu Instalace integračních služeb.

Poznámka:

Úloha Fronta zpráv nevyhovuje standardu FIPS (Federal Information Processing Standard) 140-2, pokud je operační systém počítače nakonfigurovaný v režimu FIPS a úloha používá šifrování. Pokud úloha fronty zpráv nepoužívá šifrování, může se úloha úspěšně spustit.

Typy zpráv

Typy zpráv, které úloha Fronta zpráv poskytuje, můžete nakonfigurovat následujícími způsoby:

  • Zpráva datového souboru určuje, že soubor obsahuje zprávu. Při přijímání zpráv můžete úlohu nakonfigurovat tak, aby uložila soubor, přepsala existující soubor a určila balíček, ze kterého může úkol přijímat zprávy.

  • Řetězcová zpráva určuje zprávu jako řetězec. Při příjmu zpráv můžete úlohu nakonfigurovat tak, aby porovnávala přijatý řetězec s uživatelem definovaným řetězcem, a provádět akce v závislosti na porovnání. Porovnání řetězců může být přesné, může rozlišovat velká a malá písmena, nerozlišovat je, nebo používat podřetězce.

  • Řetězcová zpráva do proměnné určuje zdrojovou zprávu jako řetězec, který se odesílá do cílové proměnné. Úlohu můžete nakonfigurovat tak, aby porovnávala přijatý řetězec s uživatelsky definovaným řetězcem pomocí přesného porovnání, které nerozlišuje velikost písmen, nebo pomocí porovnání podřetězců. Tento typ zprávy je k dispozici pouze v případě, že úkol přijímá zprávy.

  • Proměnná určuje, že zpráva obsahuje jednu nebo více proměnných. Úkol můžete nakonfigurovat tak, aby určil názvy proměnných obsažených ve zprávě. Při přijímání zpráv můžete úlohu nakonfigurovat tak, aby určila balíček, ze kterého může přijímat zprávy, i proměnnou, která je cílem zprávy.

Odesílání zpráv

Při konfiguraci úlohy Fronta zpráv pro odesílání zpráv můžete k šifrování zprávy použít jeden z šifrovacích algoritmů, které jsou aktuálně podporovány technologií Řízení front zpráv, RC2 a RC4. Oba tyto šifrovací algoritmy se nyní považují za kryptograficky slabé v porovnání s novějšími algoritmy, které technologie Řízení front zpráv zatím nepodporuje. Proto byste měli při odesílání zpráv pomocí úlohy Fronta zpráv pečlivě zvážit kryptografii.

Příjem zpráv

Při příjmu zpráv lze úlohu Fronta zpráv nakonfigurovat následujícími způsoby:

  • Přeskočení zprávy nebo odebrání zprávy z fronty

  • Určení časového limitu

  • Pokud dojde k vypršení časového limitu, dojde k selhání.

  • Přepsání existujícího souboru, pokud je zpráva uložena v datovém souboru.

  • Uložení souboru zprávy do jiného názvu souboru, pokud zpráva používá typ zprávy Datový soubor .

Vlastní záznamové zprávy dostupné v úkolu Fronty zpráv

Následující tabulka uvádí vlastní položky protokolu pro úlohu Fronta zpráv. Další informace naleznete v tématu Integrace služeb (SSIS) protokolování.

Položka protokolu Description
MSMQAfterOpen Označuje, že úloha dokončila otevírání fronty zpráv.
MSMQBeforeOpen Označuje, že úloha začala otevírat frontu zpráv.
MSMQBeginReceive Označuje, že úloha začala přijímat zprávu.
MSMQBeginSend Označuje, že úloha začala posílat zprávu.
MSMQEndReceive Označuje, že úloha dokončila přijímání zprávy.
MSMQEndSend Označuje, že úkol ukončil odesílání zprávy.
MSMQTaskInfo Poskytuje popisné informace o úkolu.
MSMQTaskTimeOut Označuje, že vypršel časový limit úkolu.

Konfigurace úlohy fronty zpráv

Vlastnosti můžete nastavit prostřednictvím návrháře SSIS nebo programově. Informace o vlastnostech, které můžete nastavit v nástroji SSIS Designer, získáte kliknutím na následující téma:

Informace o programovém nastavení těchto vlastností naleznete v dokumentaci pro třídu Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask v Příručce pro vývojáře.

Další informace o nastavení těchto vlastností v nástroji SSIS Designer naleznete v tématu Nastavení vlastností úlohy nebo kontejneru.

Editor úloh fronty zpráv (obecná stránka)

Pomocí stránky Obecné v dialogovém okně Editor úloh fronty zpráv pojmenujte a popište úlohu Fronta zpráv, zadejte formát zprávy a určete, zda úkol odesílá nebo přijímá zprávy.

Možnosti

název
Zadejte jedinečný název úlohy Fronta zpráv. Tento název se používá jako popisek v ikoně úkolu.

Poznámka:

Názvy úkolů musí být v rámci balíčku jedinečné.

Description
Zadejte popis úlohy Message Queue.

Použít formát 2000
Určuje, zda se má použít formát 2000 služby Řízení front zpráv (označovaný také jako MSMQ). Výchozí hodnota je false.

MSMQConnection
Vyberte existujícího správce připojení MSMQ nebo kliknutím na <tlačítko Nové připojení...> vytvořte nového správce připojení.

Související témata: Správce připojení MSMQ, Editor nástroje MSMQ Connection Manager

Zpráva
Určete, zda úloha fronty zpráv odesílá nebo přijímá zprávy. Pokud vyberete Možnost Odeslat zprávu, zobrazí se stránka Odeslat v levém podokně dialogového okna; pokud vyberete Přijmout zprávu, zobrazí se stránka Přijmout. Ve výchozím nastavení je tato hodnota nastavená na Odeslat zprávu.

Editor úloh fronty zpráv (odeslat stránku)

Stránka Odeslat v dialogovém okně Editor úloh fronty zpráv slouží ke konfiguraci úlohy fronty zpráv pro odesílání zpráv z balíčku integrační služby Microsoft SQL Server.

Možnosti

UseEncryption
Určete, jestli se má zpráva šifrovat. Výchozí hodnota je false.

EncryptionAlgorithm
Pokud se rozhodnete použít šifrování, zadejte název šifrovacího algoritmu, který se má použít. Úloha Fronty zpráv může používat algoritmy RC2 a RC4. Výchozí hodnota je RC2.

Poznámka:

Algoritmus RC4 je podporován pouze pro zpětnou kompatibilitu. Nový materiál lze šifrovat pouze pomocí RC4 nebo RC4_128, pokud je databáze v kompatibilitě 90 nebo 100. (Nedoporučuje se.) Místo toho použijte novější algoritmus, například jeden z algoritmů AES. V aktuální verzi SQL Serveru je možné materiál zašifrovaný pomocí RC4 nebo RC4_128 dešifrovat v jakékoli úrovni kompatibility.

Důležité

Jedná se o šifrovací algoritmy, které podporuje technologie Řízení front zpráv (označovaná také jako MSMQ). Oba tyto šifrovací algoritmy se nyní považují za kryptograficky slabé v porovnání s novějšími algoritmy, které služba Řízení front zpráv zatím nepodporuje. Proto byste měli při odesílání zpráv pomocí úlohy Fronta zpráv pečlivě zvážit kryptografii.

MessageType
Vyberte typ zprávy. Tato vlastnost obsahuje možnosti uvedené v následující tabulce.

Hodnota Description
Zpráva datového souboru Zpráva je uložena v souboru. Výběrem hodnoty se zobrazí dynamická možnost DataFileMessage.
Proměnná zpráva Zpráva je uložena v proměnné. Výběrem hodnoty se zobrazí dynamická možnost VariableMessage.
Řetězcová zpráva Zpráva je uložena v úloze fronty zpráv. Výběrem hodnoty se zobrazí dynamická možnost StringMessage.

Typ zprávy dynamické možnosti

MessageType = zpráva datového souboru

DataFileMessage
Zadejte cestu k datovému souboru nebo klikněte na tři tečky (...) a vyhledejte soubor.

MessageType = proměnná zpráva

VariableMessage
Zadejte názvy proměnných nebo klikněte na tři tečky (...) a pak vyberte proměnné. Proměnné jsou oddělené čárkami.

Související témata: Vybrat proměnné

MessageType = řetězcová zpráva

StringMessage
Zadejte textovou zprávu nebo klikněte na tři tečky (...) a potom zprávu zadejte do dialogového okna Zadat řetězec zprávy.

Editor úloh fronty zpráv (stránka přijetí)

Stránka Přijmout v dialogovém okně Editor úloh fronty zpráv slouží ke konfiguraci úlohy fronty zpráv pro příjem zpráv služby Microsoft Message Queuing (MSMQ).

Možnosti

RemoveFromMessageQueue
Určete, jestli se má zpráva po přijetí odebrat z fronty. Ve výchozím nastavení je tato hodnota nastavená na False.

ErrorIfMessageTimeOut
Určete, jestli úloha selže, když vyprší časový limit zprávy, a zobrazte chybovou zprávu. Výchozí hodnota je false.

TimeoutAfter
Pokud se rozhodnete zobrazit chybovou zprávu o selhání úkolu, zadejte počet sekund, po které se má čekat, než se zobrazí zpráva o vypršení časového limitu.

MessageType
Vyberte typ zprávy. Tato vlastnost obsahuje možnosti uvedené v následující tabulce.

Hodnota Description
Zpráva datového souboru Zpráva je uložena v souboru. Výběrem hodnoty se zobrazí dynamická možnost DataFileMessage.
Proměnná zpráva Zpráva je uložena v proměnné. Výběrem hodnoty se zobrazí dynamická možnost VariableMessage.
Řetězcová zpráva Zpráva je uložena v úloze Message Queue. Výběrem hodnoty se zobrazí dynamická možnost StringMessage.
Řetězcová zpráva do proměnné Zpráva

Výběrem hodnoty se zobrazí dynamická možnost StringMessage.

MessageType dynamické možnosti

MessageType = zpráva datového souboru

SaveFileAs
Zadejte cestu k souboru, který chcete použít, nebo klikněte na tlačítko se třemi tečky (...) a vyhledejte soubor.

Přepsat
Určuje, zda chcete při ukládání obsahu zprávy datového souboru přepsat data v existujícím souboru. Výchozí hodnota je false.

Filtr
Určete, zda se má na zprávu použít filtr. Tato vlastnost obsahuje možnosti uvedené v následující tabulce.

Hodnota Description
Žádný filtr Úkol nefiltruje zprávy. Výběrem hodnoty se zobrazí dynamická možnost IdentifierReadOnly.
Z balíčku Zpráva přijímá pouze zprávy ze zadaného balíčku. Výběrem hodnoty se zobrazí dynamická možnost Identifikátor.

Dynamické možnosti filtru

Filtr = Žádný filtr

IdentifierReadOnly
Tato možnost je určená jen pro čtení. Může být prázdný nebo obsahovat identifikátor GUID balíčku, když byla vlastnost Filter dříve nastavena.

Filtr = Z balíčku

Identifikátor
Pokud se rozhodnete použít filtr, zadejte jedinečný identifikátor balíčku, ze kterého lze zprávy přijímat, nebo klikněte na tlačítko se třemi tečky (...) a zadejte balíček.

Související témata:Výběr balíčku

MessageType = proměnná zpráva

Filtr
Určete, zda se má filtr použít u zpráv. Tato vlastnost obsahuje možnosti uvedené v následující tabulce.

Hodnota Description
Žádný filtr Úkol nefiltruje zprávy. Výběrem hodnoty se zobrazí dynamická možnost IdentifierReadOnly.
Z balíčku Zpráva přijímá pouze zprávy ze zadaného balíčku. Výběrem hodnoty se zobrazí dynamická možnost Identifikátor.

Proměnná
Zadejte název proměnné nebo klepněte na tlačítko <Nová proměnná...> a pak nakonfigurujte novou proměnnou.

Související témata:Přidání proměnné

Dynamické možnosti filtru

Filtr = Žádný filtr

IdentifierReadOnly
Tato možnost je prázdná.

Filtr = Z balíčku

Identifikátor
Pokud se rozhodnete použít filtr, zadejte jedinečný identifikátor balíčku, ze kterého lze zprávy přijímat, nebo klikněte na tlačítko se třemi tečky (...) a zadejte balíček.

Související témata:Výběr balíčku

MessageType = řetězcová zpráva

Porovnat
Určete, zda se má filtr použít u zpráv. Tato vlastnost obsahuje možnosti uvedené v následující tabulce.

Hodnota Description
Nic Zprávy nejsou srovnávány
Přesná shoda Zprávy musí odpovídat přesně řetězci v možnosti CompareString .
Ignorovat velikost písmen Zpráva se musí shodovat s řetězcem z možnosti CompareString, přičemž porovnání nerozlišuje malá a velká písmena.
Obsahující Zpráva musí obsahovat řetězec v možnosti CompareString .

Comparestring
Pokud není možnost Porovnat nastavena na Hodnotu Žádné, zadejte řetězec, se kterým je zpráva porovnána.

MessageType = Řetězcová zpráva přiřazená proměnné

Porovnat
Určete, zda se má filtr použít u zpráv. Tato vlastnost obsahuje možnosti uvedené v následující tabulce.

Hodnota Description
Nic Zprávy se neporovnávají.
Přesná shoda Zpráva se musí shodovat přesně s řetězcem v možnosti CompareString .
Ignorovat případ Zpráva musí odpovídat řetězci v možnosti CompareString, ale porovnání je citlivé na velikost písmen.
Obsahující Zpráva musí obsahovat řetězec v možnosti CompareString .

Comparestring
Pokud není možnost Porovnat nastavena na Hodnotu Žádné, zadejte řetězec, se kterým je zpráva porovnána.

Proměnná
Zadejte název proměnné, která má obsahovat přijatou zprávu, nebo klikněte na tlačítko <Nová proměnná...> a pak nakonfigurujte novou proměnnou.

Související témata:Přidání proměnné

Vybrat proměnné

Pomocí dialogového okna Vybrat proměnné určete proměnné, které se mají použít v operaci odeslání zprávy v úloze Fronta zpráv. Seznam Dostupných proměnných obsahuje systémové a uživatelem definované proměnné, které jsou v oboru úlohy fronty zpráv nebo nadřazeného kontejneru. Úkol používá proměnné v seznamu Vybrané proměnné .

Možnosti

Dostupné proměnné
Vyberte jednu nebo více proměnných.

Vybrané proměnné
Vyberte jednu nebo více proměnných.

Pravé šipky
Přesun vybraných proměnných do seznamu Vybrané proměnné

Šipky vlevo
Přesuňte vybrané proměnné zpět do seznamu Dostupné proměnné .

Nová proměnná
Vytvořte novou proměnnou.

Související témata:Přidání proměnné

Viz také

Úkoly integračních služeb
Řízení toku