Freigeben über


Message Queue Task

Gilt für: SQL Server SSIS Integration Runtime in Azure Data Factory

Mit dem Task „Nachrichtenwarteschlange“ können Sie Message Queuing (auch als MSMQ bezeichnet) verwenden, um Nachrichten zwischen SQL Server Integration Services-Paketen zu senden und zu empfangen oder um Nachrichten an eine Anwendungswarteschlange zu senden, die von einer benutzerdefinierten Anwendung verarbeitet wird. Bei diesen Nachrichten kann es sich um einfachen Text, Dateien oder Variablen und deren Werte handeln.

Mit dem Task Nachrichtenwarteschlange können Sie Vorgänge im gesamten Unternehmen koordinieren. Nachrichten können in eine Warteschlange eingereiht und später übermittelt werden, falls das Ziel nicht verfügbar oder ausgelastet ist. Beispielsweise können mit diesem Task Nachrichten für den Offlinelaptopcomputer von Vertriebsmitarbeitern, die ihre Nachrichten beim Herstellen einer Verbindung mit dem Netzwerk erhalten, einer Warteschlange hinzugefügt werden. Der Task Nachrichtenwarteschlange kann für folgende Zwecke verwendet werden:

  • Verzögern der Taskausführung bis zum Einchecken anderer Pakete. Beispielsweise sendet an jedem Einzelhandelsstandort ein Task Nachrichtenwarteschlange nach der nächtlichen Wartung eine Nachricht an Ihren Firmencomputer. Ein Paket, das auf dem Firmencomputer ausgeführt wird, enthält Tasks Nachrichtenwarteschlange, die auf die Nachricht von einem bestimmten Einzelhandelsstandort warten. Beim Eintreffen einer Nachricht werden von einem Task Daten von diesem Standort hochgeladen. Nach dem Einchecken aller Standorte berechnet das Paket die Gesamtbeträge.

  • Senden von Datendateien an den Computer, der diese verarbeitet. Beispielsweise kann der Kassenstand eines Restaurants in einer Datendateinachricht an das Buchhaltungssystem des Unternehmens gesendet werden, um Daten zum Trinkgeld jedes Kellners zu extrahieren.

  • Verteilen von Dateien im gesamten Unternehmen. Beispielsweise kann ein Paket einen Task Nachrichtenwarteschlange verwenden, um eine Paketdatei an einen anderen Computer zu senden. Ein Paket, das auf dem Zielcomputer ausgeführt wird, kann mit einem Task Nachrichtenwarteschlange das Paket lokal abrufen und speichern.

Beim Senden oder Empfangen von Nachrichten verwendet der Task Nachrichtenwarteschlange einen von vier Nachrichtentypen: Datendatei, Zeichenfolge, Zeichenfolgennachricht an Variable oder Variable. Der Nachrichtentyp Zeichenfolgennachricht an Variable kann nur zum Empfangen von Nachrichten verwendet werden.

Dieser Task verwendet einen MSMQ-Verbindungs-Manager, um eine Verbindung mit einer Nachrichtenwarteschlange herzustellen. Weitere Informationen finden Sie unter MSMQ-Verbindungs-Manager. Weitere Informationen zu Message Queuing finden Sie in der MSDN Library.

Für den Task Nachrichtenwarteschlange muss der Integration Services -Dienst installiert sein. Manche SQL Server -Komponenten, die Sie für die Installation auf der Seite Zu installierende Komponenten oder der Seite Funktionsauswahl des Installations-Assistenten für SQL Server auswählen können, installieren eine Teilmenge der Integration Services -Komponenten. Diese Komponenten sind für bestimmte Tasks hilfreich, aber die Funktionalität von Integration Services ist begrenzt. Beispielsweise installiert die SQL Server Data Tools (SSDT) -Option Integration Services -Komponenten, die zum Entwerfen eines Pakets erforderlich sind, aber der Integration Services -Dienst wird nicht installiert. Deshalb kann der Task Nachrichtenwarteschlange nicht ausgeführt werden. Um eine vollständige Installation von Integration Servicessicherzustellen, müssen Sie Integration Services auf der Seite Zu installierende Komponenten auswählen. Weitere Informationen zum Installieren und Ausführen des Tasks „Nachrichtenwarteschlange“ finden Sie unter Installieren von Integration Services.

Hinweis

Der Task Nachrichtenwarteschlange entspricht nicht dem Federal Information Processing Standard (FIPS) 140-2, wenn das Betriebssystem des Computers im FIPS-Modus konfiguriert ist und der Task die Verschlüsselung verwendet. Wenn der Task Nachrichtenwarteschlange keine Verschlüsselung verwendet, kann der Task erfolgreich ausgeführt werden.

Nachrichtentypen

Es gibt folgende Möglichkeiten, um die Nachrichtentypen zu konfigurieren, die der Task Nachrichtenwarteschlange bereitstellt:

  • Data file gibt an, dass eine Datei die Nachricht enthält. Wenn Sie Nachrichten empfangen, können Sie den Task so konfigurieren, dass die Datei gespeichert wird und eine vorhandene Datei überschreiben wird, und das Paket angeben, von dem der Task Nachrichten empfangen kann.

  • String definiert die Nachricht als Zeichenfolge. Wenn Sie Nachrichten empfangen, können Sie den Task so konfigurieren, dass die empfangene Zeichenfolge mit einer benutzerdefinierten Zeichenfolge verglichen und abhängig vom Vergleich die entsprechende Maßnahme ergriffen wird. Ein Zeichenfolgenvergleich kann genau sein, die Groß-/Kleinschreibung beachten oder die Groß-/Kleinschreibung ignorieren sowie eine Teilzeichenfolge verwenden.

  • String message to variable gibt die Quellnachricht als Zeichenfolge an, die an eine Zielvariable gesendet wird. Sie können den Task so konfigurieren, dass die empfangene Zeichenfolge mit einer benutzerdefinierten Zeichenfolge mithilfe eines genauen Vergleichs, eines Vergleichs mit Beachtung der Groß-/Kleinschreibung oder eines Teilzeichenfolge-Vergleichs verglichen wird. Dieser Nachrichtentyp ist nur verfügbar, wenn der Task Nachrichten empfängt.

  • Variable gibt an, dass die Nachricht mindestens eine Variable enthält. Sie können den Task so konfigurieren, dass die in der Nachricht enthaltenen Namen der Variablen angegeben werden. Wenn Sie Nachrichten empfangen, können Sie den Task so konfigurieren, dass sowohl das Paket, von dem Nachrichten empfangen werden können, als auch die Variable, die das Ziel der Nachricht ist, angegeben werden.

Senden von Nachrichten

Beim Konfigurieren des Tasks Nachrichtenwarteschlange zum Senden von Nachrichten können Sie einen der zurzeit von der Message Queuing-Technologie unterstützten Verschlüsselungsalgorithmen, RC2 und RC4, zum Verschlüsseln der Nachricht verwenden. Diese Verschlüsselungsalgorithmen werden inzwischen im Vergleich zu neueren Algorithmen, die von der Message Queuing-Technologie noch nicht unterstützt werden, beide als kryptografisch schwach betrachtet. Daher sollten Sie Ihren Kryptografiebedarf sorgfältig überdenken, wenn Sie Nachrichten mithilfe des Tasks Nachrichtenwarteschlange senden.

Empfangen von Nachrichten

Beim Empfangen von Nachrichten kann der Task Nachrichtenwarteschlange wie folgt konfiguriert werden.

  • Umgehen der Nachricht oder Entfernen der Nachricht aus der Warteschlange.

  • Angeben eines Timeouts.

  • Fehler bei einem Timeout.

  • Überschreiben einer vorhandenen Datei, falls die Nachricht in einer Data filegespeichert ist.

  • Speichern der Nachrichtendatei unter einem anderen Dateinamen, falls die Nachricht den Typ Data file message verwendet.

Verfügbare benutzerdefinierte Meldungen für die Protokollierung für den Task 'Nachrichtenwarteschlange'

In der folgenden Tabelle werden die benutzerdefinierten Protokolleinträge für den Task Nachrichtenwarteschlange aufgelistet. Weitere Informationen finden Sie unter Integration Services-Protokollierung (SSIS).

Protokolleintrag BESCHREIBUNG
MSMQAfterOpen Zeigt an, dass das Öffnen der Warteschlange beendet wurde.
MSMQBeforeOpen Zeigt an, dass das Öffnen der Warteschlange begonnen wurde.
MSMQBeginReceive Zeigt an, dass das Empfangen einer Meldung begonnen wurde.
MSMQBeginSend Zeigt an, dass das Senden einer Meldung begonnen wurde.
MSMQEndReceive Zeigt an, dass das Empfangen einer Meldung beendet wurde.
MSMQEndSend Zeigt an, dass das Senden einer Meldung beendet wurde.
MSMQTaskInfo Enthält beschreibende Informationen zum Task.
MSMQTaskTimeOut Zeigt an, dass beim Task ein Timeout eingetreten ist.

Konfiguration des Tasks "Nachrichtenwarteschlange"

Sie können Eigenschaften mit dem SSIS -Designer oder programmgesteuert festlegen. Klicken Sie auf das folgende Thema, um Informationen zu den Eigenschaften zu erhalten, die Sie im SSIS -Designer festlegen können:

Weitere Informationen zum programmgesteuerten Festlegen dieser Eigenschaften finden Sie in der Dokumentation zur Microsoft.SqlServer.Dts.Tasks.MessageQueueTask.MessageQueueTask -Klasse im Entwicklerhandbuch.

Weitere Informationen zum Anzeigen dieser Eigenschaften im SSIS -Designer finden Sie unter Festlegen der Eigenschaften eines Tasks oder Containers.

Editor für den Task 'Nachrichtenwarteschlange' (Seite Allgemein)

Auf der Seite Allgemein des Dialogfelds Editor für den Task „Nachrichtenwarteschlange“ können Sie den Task „Nachrichtenwarteschlange“ benennen und beschreiben, das Nachrichtenformat angeben und kennzeichnen, ob vom Task Nachrichten gesendet oder empfangen werden.

Tastatur

Name
Geben Sie einen eindeutigen Namen für den Task Nachrichtenwarteschlange an. Dieser Name wird im Tasksymbol als Bezeichnung verwendet.

Hinweis

Tasknamen müssen innerhalb eines Pakets eindeutig sein.

Beschreibung
Geben Sie eine Beschreibung des Tasks Nachrichtenwarteschlange ein.

Use2000Format
Geben Sie an, ob das 2000-Format von Message Queuing (auch bekannt als MSMQ) verwendet werden soll. Der Standardwert ist False.

MSMQConnection
Wählen Sie einen vorhandenen MSMQ-Verbindungs-Manager aus, oder klicken Sie auf <Neue Verbindung>, um einen neuen Verbindungs-Manager zu erstellen.

Verwandte Themen:MSMQ-Verbindungs-Manager , MSMQ-Verbindungs-Manager-Editor

Meldung
Geben Sie an, ob Nachrichten vom Task Nachrichtenwarteschlange gesendet oder empfangen werden. Wenn Sie Nachricht sendenauswählen, wird im linken Bereich des Dialogfelds die Seite Senden angezeigt; wenn Sie Nachricht empfangenauswählen, wird die Seite Empfangen aufgelistet. Standardmäßig ist dieser Wert auf Nachricht sendenfestgelegt.

Task 'Nachrichtenwarteschlange' (Seite Senden)

Im Dialogfeld Editor für den Task „Nachrichtenwarteschlange“ können Sie auf der Seite Senden den Task „Nachrichtenwarteschlange“ so konfigurieren, dass Nachrichten von einem Microsoft SQL Server Integration Services-Paket gesendet werden.

Tastatur

UseEncryption
Geben Sie an, ob die Nachricht verschlüsselt werden soll. Der Standardwert ist False.

EncryptionAlgorithm
Wenn Sie die Verschlüsselung verwenden möchten, müssen Sie den Namen des verwendeten Verschlüsselungsalgorithmus angeben. Für den Task "Nachrichtenwarteschlange" können die Algorithmen RC2 und RC4 verwendet werden. Die Standardeinstellung lautet RC2.

Hinweis

Der RC4-Algorithmus wird nur aus Gründen der Abwärtskompatibilität unterstützt. Neues Material kann nur mit RC4 oder RC4_128 verschlüsselt werden, wenn die Datenbank den Kompatibilitätsgrad 90 oder 100 besitzt. (Nicht empfohlen.) Verwenden Sie stattdessen einen neueren Algorithmus, z. B. einen der AES-Algorithmen. In der aktuellen Version von SQL Serverkann mit RC4 oder RC4_128 verschlüsseltes Material in jedem Kompatibilitätsgrad entschlüsselt werden.

Wichtig

Diese Verschlüsselungsalgorithmen werden von der Message Queuing-Technologie (auch bekannt als MSMQ) unterstützt. Diese Verschlüsselungsalgorithmen werden inzwischen im Vergleich zu neueren Algorithmen, die von Message Queuing noch nicht unterstützt werden, beide als kryptografisch schwach betrachtet. Daher sollten Sie Ihren Kryptografiebedarf sorgfältig überdenken, wenn Sie Nachrichten mithilfe des Tasks Nachrichtenwarteschlange senden.

MessageType
Wählen Sie den Nachrichtentyp aus. Diese Eigenschaft besitzt die in der folgenden Tabelle aufgeführten Optionen.

Wert BESCHREIBUNG
Data file message Die Nachricht wird in einer Datei gespeichert. Bei Auswahl dieses Wertes wird die dynamische Option DataFileMessageangezeigt.
Variable message Die Nachricht wird in einer Variable gespeichert. Bei Auswahl dieses Wertes wird die dynamische Option VariableMessageangezeigt.
String message Die Nachricht wird im Task 'Nachrichtenwarteschlange' gespeichert. Bei Auswahl dieses Wertes wird die dynamische Option StringMessageangezeigt.

MessageType (dynamische Optionen)

MessageType = Data file message

DataFileMessage
Geben Sie den Pfad der Datendatei an, oder klicken Sie auf die Schaltfläche mit den Auslassungspunkten (…) , um nach der Datei zu suchen.

MessageType = Variable message

VariableMessage
Geben Sie die Variablennamen ein, oder klicken Sie auf die Schaltfläche mit den Auslassungspunkten (…) , und wählen Sie dann die Variablen aus. Die Variablen werden durch Kommas getrennt.

Verwandte Themen: Variablen auswählen

MessageType = Zeichenfolgennachricht

StringMessage
Geben Sie die Zeichenfolgennachricht ein, oder klicken Sie auf die Schaltfläche mit den Auslassungspunkten (…) , und geben Sie dann im Dialogfeld Zeichenfolgennachricht eingeben die Nachricht ein.

Editor für den Task 'Nachrichtenwarteschlange' (Seite Empfangen)

Auf der Seite Empfangen des Dialogfelds Editor für den Task „Nachrichtenwarteschlange“ können Sie den Task „Nachrichtenwarteschlange“ konfigurieren, um MSMQ-Nachrichten ( Microsoft Message Queuing) zu empfangen.

Tastatur

RemoveFromMessageQueue
Geben Sie an, ob die Nachricht aus der Warteschlange entfernt werden soll, nachdem sie empfangen wurde. Standardmäßig ist dieser Wert auf Falsefestgelegt.

ErrorIfMessageTimeOut
Geben Sie an, ob der Task fehlschlägt und eine Fehlermeldung angezeigt wird, wenn die Zeit für die Nachricht überschritten wird. Der Standardwert ist False.

TimeoutAfter
Wenn eine Fehlermeldung beim Fehlschlagen des Tasks angezeigt werden soll, geben Sie hier die Wartezeit vor dem Anzeigen der Timeoutmeldung in Sekunden an.

MessageType
Wählen Sie den Nachrichtentyp aus. Diese Eigenschaft besitzt die in der folgenden Tabelle aufgeführten Optionen.

Wert BESCHREIBUNG
Data file message Die Nachricht wird in einer Datei gespeichert. Bei Auswahl dieses Wertes wird die dynamische Option DataFileMessageangezeigt.
Variable message Die Nachricht wird in einer Variable gespeichert. Bei Auswahl dieses Wertes wird die dynamische Option VariableMessageangezeigt.
String message Die Nachricht wird im Task 'Nachrichtenwarteschlange' gespeichert. Bei Auswahl dieses Wertes wird die dynamische Option StringMessageangezeigt.
String message to variable Die Nachricht wurde in einer Variablen gespeichert.

Bei Auswahl dieses Wertes wird die dynamische Option StringMessageangezeigt.

MessageType (dynamische Optionen)

MessageType = Data file message

SaveFileAs
Geben Sie den Pfad der zu verwendenden Datei an, oder klicken Sie auf die Schaltfläche mit den Auslassungspunkten (...) , um nach der Datei zu suchen.

Overwrite
Geben Sie an, dass die Daten in einer vorhandenen Datei überschrieben werden sollen, wenn der Inhalt einer Datendateinachricht gespeichert wird. Der Standardwert ist False.

Filter
Geben Sie an, ob auf die Nachricht ein Filter angewendet werden soll. Diese Eigenschaft besitzt die in der folgenden Tabelle aufgeführten Optionen.

Wert BESCHREIBUNG
Kein Filter Der Task filtert keine Nachrichten. Wenn Sie diesen Wert auswählen, wird die dynamische Option IdentifierReadOnlyangezeigt.
Vom Paket Der Task empfängt nur Nachrichten von dem angegebenen Paket. Wenn Sie diesen Wert auswählen, wird die dynamische Option Identifierangezeigt.

Filter (dynamische Optionen)

Filter = No filter

IdentifierReadOnly
Diese Option ist schreibgeschützt. Sie kann leer sein oder die GUID eines Pakets enthalten, wenn die Eigenschaft Filter vorher festgelegt wurde.

Filter = From package

Bezeichner
Wenn Sie einen Filter anwenden möchten, geben Sie den eindeutigen Bezeichner des Pakets ein, aus dem die Nachrichten empfangen werden können, oder klicken Sie auf die Schaltfläche mit den Auslassungspunkten (...) , und geben Sie das Paket an.

Verwandte Themen: Paket auswählen

MessageType = Variable message

Filter
Geben Sie an, ob auf Nachrichten ein Filter angewendet werden soll. Diese Eigenschaft besitzt die in der folgenden Tabelle aufgeführten Optionen.

Wert BESCHREIBUNG
Kein Filter Der Task filtert keine Nachrichten. Wenn Sie diesen Wert auswählen, wird die dynamische Option IdentifierReadOnlyangezeigt.
Vom Paket Der Task empfängt nur Nachrichten von dem angegebenen Paket. Wenn Sie diesen Wert auswählen, wird die dynamische Option Identifierangezeigt.

Variable
Geben Sie den Variablennamen an, oder klicken Sie auf <Neue Variable>, und konfigurieren Sie anschließend eine neue Variable.

Verwandte Themen: Variable hinzufügen

Filter (dynamische Optionen)

Filter = No filter

IdentifierReadOnly
Diese Option ist leer.

Filter = From package

Bezeichner
Wenn Sie einen Filter anwenden möchten, geben Sie den eindeutigen Bezeichner des Pakets ein, aus dem die Nachrichten empfangen werden können, oder klicken Sie auf die Schaltfläche mit den Auslassungspunkten (...) , und geben Sie das Paket an.

Verwandte Themen: Paket auswählen

MessageType = Zeichenfolgennachricht

Vergleichen
Geben Sie an, ob auf Nachrichten ein Filter angewendet werden soll. Diese Eigenschaft besitzt die in der folgenden Tabelle aufgeführten Optionen.

Wert BESCHREIBUNG
None Die Nachrichten werden nicht verglichen.
Genaue Übereinstimmung Die Nachrichten müssen genau mit der Zeichenfolge in der Option CompareString übereinstimmen.
Groß-/Kleinschreibung ignorieren Die Nachricht muss mit der Zeichenfolge in der Option CompareString übereinstimmen, aber beim Vergleichen wird nicht zwischen Groß- und Kleinschreibung unterschieden.
Mit Inhalt Die Nachrichten müssen die Zeichenfolge in der Option CompareString enthalten.

CompareString
Geben Sie hier die Zeichenfolge an, mit der die Nachricht verglichen wird, wenn die Option Vergleichen nicht auf Keinefestgelegt ist.

MessageType = String message to variable

Vergleichen
Geben Sie an, ob auf Nachrichten ein Filter angewendet werden soll. Diese Eigenschaft besitzt die in der folgenden Tabelle aufgeführten Optionen.

Wert BESCHREIBUNG
None Die Nachrichten werden nicht verglichen.
Genaue Übereinstimmung Die Nachricht muss genau mit der Zeichenfolge in der Option CompareString übereinstimmen.
Groß-/Kleinschreibung ignorieren Die Nachricht muss mit der Zeichenfolge in der Option CompareString übereinstimmen, aber beim Vergleichen wird nicht zwischen Groß- und Kleinschreibung unterschieden.
Mit Inhalt Die Nachricht muss die Zeichenfolge in der Option CompareString enthalten.

CompareString
Geben Sie hier die Zeichenfolge an, mit der die Nachricht verglichen wird, wenn die Option Vergleichen nicht auf Keinefestgelegt ist.

Variable
Geben Sie den Namen der Variablen zum Speichern der Nachricht ein, oder klicken Sie auf <Neue Variable>, und konfigurieren Sie anschließend eine neue Variable.

Verwandte Themen: Variable hinzufügen

Variablen auswählen

Mithilfe des Dialogfelds Variablen auswählen geben Sie die Variablen an, die beim Vorgang des Sendens einer Nachricht im Task Nachrichtenwarteschlange verwendet werden. Die Liste Verfügbare Variablen enthält Systemvariablen und benutzerdefinierte Variablen, die sich auf den Task „Nachrichtenwarteschlange“ oder dessen übergeordneten Container beziehen. Der Task verwendet die Variablen der Liste Ausgewählte Variablen .

Tastatur

Verfügbare Variablen
Wählen Sie eine oder mehrere Variablen aus.

Ausgewählte Variablen
Wählen Sie eine oder mehrere Variablen aus.

Pfeile nach rechts
Verschiebt die ausgewählten Variablen in die Liste Ausgewählte Variablen .

Pfeile nach links
Verschiebt die ausgewählten Variablen wieder in die Liste Verfügbare Variablen .

Neue Variable
Erstellt eine neue Variable.

Verwandte Themen: Variable hinzufügen

Weitere Informationen

Integration Services-Tasks
Ablaufsteuerung