Der CLUSTERSSeries-Adapter ruft keine Nachrichten mehr von einem gruppierten CLUSTERSSeries-Warteschlangen-Manager ab, wenn der Warteschlangen-Manager zu einem anderen Clusterknoten überschlägt
Dieser Artikel hilft Ihnen, das Problem zu umgehen, bei dem DER VONSERIES-Adapter keine Nachrichten mehr von einem gruppierten CLUSTERSSeries-Warteschlangen-Manager abruft, wenn der Warteschlangen-Manager zu einem anderen Clusterknoten übergibt.
Ursprüngliche Produktversion: BizTalk Server 2020, BizTalk Server 2016, BizTalk Server 2013, BizTalk Server 2010, BizTalk Server 2009
Ursprüngliche KB-Nummer: 893059
Problembeschreibung
Sie konfigurieren den Microsoft BizTalk Server-Adapter für CLUSTERSSeries so, dass Nachrichten von einem gruppierten Warteschlangen-Manager von CLUSTERSSeries empfangen werden. Wenn der Warteschlangen-Manager einen Failover zu einem anderen Clusterknoten ausführt, ruft der CLUSTERSSeries-Adapter keine Nachrichten mehr aus der gruppierten Warteschlange ab. Wenn dieses Verhalten auftritt, wird das folgende Ereignis im Anwendungsprotokoll protokolliert:
Ereignistyp: Warnung
Ereignisquelle: BizTalk Server 20xx
Ereigniskategorie: BizTalk Server 20xx
Ereignis-ID: 5740
Datum: 31.12.2006 Uhrzeit: 11:12:13 Uhr
Benutzer: N/A
Computer:
Beschreibung: Der Adapter "MOFSeries" hat eine Fehlermeldung ausgelöst. Details "Fehler beim Öffnen des Warteschlangen-Manager-Namens = MYQMNAME Reason Code = 2059."
Hinweis
Stellt in diesem Protokolleintrag <20xx> die aktuelle Versionsnummer und <MYQMNAME> den tatsächlichen Namen des Warteschlangen-Managers dar.
Problemumgehung
Um dieses Problem zu umgehen, erstellen Sie eine geplante Aufgabe auf beiden Knoten. Gehen Sie dazu wie folgt vor:
Öffnen Sie auf dem aktiven Knoten "Services.msc". Es sollten zwei MSDTC-Dienste aufgelistet werden: einer, der lokal ist und keine GUID aufweist, und einer, der gruppiert ist und eine GUID aufweist.
Führen Sie an einer Eingabeaufforderung mit erhöhten Rechten den folgenden Befehl aus:
sc queryex | find /I "Transaction"Die Befehlsausgabe enthält die GUID, die Sie für das Skript in diesem Verfahren verwenden müssen. Die GUID:
Distributed Transaction Coordinator (01234567-89ab-cdef-0123-456789abcdef)Speichern Sie den folgenden Code in einer Datei, und nennen Sie die Datei Shutdownmqadapter.vbs. Sie können die Datei auf einem anderen Datenträger als dem Quorumdatenträger speichern.
Hinweis
In diesem Code ist die angegebene GUID (
01234567-89ab-cdef-0123-456789abcdef) ein Platzhalter. Ersetzen Sie diese GUID durch die tatsächliche gruppierte MSDTC-GUID, die Sie in Schritt 2 angegeben haben.Option Explicit On Error Resume Next Dim sComputerName, oWMIService, colRunningServices, oService, colProcessList, objProcess If Wscript.Arguments.Count = 0 Then sComputerName = "." Call ServStat Wscript.Quit End If Sub ServStat Set oWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & sComputerName& "\root\cimv2") Set colRunningServices = oWMIService.ExecQuery _ ("Select * from Win32_Service where DisplayName='Distributed Transaction Coordinator (01234567-89ab-cdef-0123-456789abcdef)'") For Each oService in colRunningServices 'Wscript.Echo oService.DisplayName & VbTab & oService.State If (oService.State="Stopped") Then 'Wscript.Echo "Stopped" 'find the dllhost Set colProcessList = oWMIService.ExecQuery ("SELECT * FROM Win32_Process WHERE Name = 'DLLHOST.EXE'") For Each objProcess in colProcessList If inStr(objProcess.CommandLine, "C691D827-19A0-42E2-B5E8-2892401481F5")>0 Then 'Wscript.Echo objProcess.ProcessId Dim objShell Set objShell = CreateObject("WScript.Shell") objShell.Run "cmd /k taskkill /F /PID " & objProcess.ProcessId & "& exit" WScript.Quit End If Next End If Next End SubWählen Sie "Start" aus, geben Sie "Aufgabe" ein, und wählen Sie dann "Aufgabenplanung" in der Ergebnisliste aus.
Wählen Sie im Aufgabenplaner die Option "Aktion > Grundlegende Aufgabe erstellen" aus.
Führen Sie die Bildschirme des Assistenten aus, um eine geplante Aufgabe zu erstellen, die die Shutdownmqagent.vbs Datei täglich ausführt.
Hinweis
Legen Sie für den 6- Schritt den Zeitplan so fest, dass er um Mitternacht beginnt und alle 1 Minute für 24 Stunden wiederholt wird.
Frühere BizTalk-Versionen verfügen möglicherweise über eine andere GUID UND COM+-GUID für DEN MOFSAgent. Sie haben möglicherweise 6D06157A-730B-4CB3-BD11-D48AC6B8A4BB anstelle von C691D827-19A0-42E2-B5E8-2892401481F5 . Daher müssen Sie möglicherweise das vorhandene Skript ändern, nachdem Sie das Produkt aktualisiert haben.
Weitere Informationen
Auch wenn der IBM XAML-Warteschlangen-Manager als Clusterressource in einer Failoverclusterrolle ausgeführt wird, sollten Sie die CLUSTERSSAgent COM+-Anwendung nicht clustern. Dies liegt daran, dass DLLHost.exe, auf dem die COM+-Anwendung ausgeführt wird, nicht clusterfähig ist. Sie müssen die WEBANWENDUNGSAgent COM+-Anwendung auf beiden Knoten einzeln installiert und konfiguriert haben.
Um eine hohe Verfügbarkeit sicherzustellen, stellen Sie sicher, dass Sie sowohl die clustered IBM CLUSTERS Queue Manager-Ressource als auch die gruppierte MSDTC-Ressource in derselben Clusterrolle zusammen mit dem Überwachungsskript aus dem Abschnitt "Problemumgehung" verwenden.
Gilt für
- BizTalk Server 2020 Enterprise
- BizTalk Server 2016 Enterprise
- BizTalk Server 2013 R2 Enterprise
- BizTalk Server 2013 Enterprise
- BizTalk Server Enterprise 2010
- BizTalk Server 2009 Enterprise