Ich habe einen Windows-Dienst erstellt, um Empfangsort zu überwachen und Port-Ereignisse zu senden, dh Start/Stopp/aktiviert/deaktiviert/eingetragen/nicht gelistet für eine lokale BizTalk Server-Computer eine WMI-Klasse Managementscope Umfang mit:.Net - Remote-BizTalk-Server Überwachung mit WMI, wenn der SQL-Server auf einer anderen VM befindet
string strScope = @"\\.\root\MicrosoftBizTalkServer";
Aber wenn ich versuche, auf einem entfernten Rechner/Server verweist Ereignisse zu erfassen mit:
string strScope = string.Format(@"\\{0}\root\MicrosoftBizTalkServer", node.Address);
ich erhalte eine ungerade WMI Fehler. Der typische Remote-Computer, auf den ich zu zeigen versuche, ist ein ähnlicher Windows-Server mit einem kleinen Unterschied, dass sein BizTalk-Server auf einen SQL-Server verweist, der sich auf einem anderen Server im Netzwerk befindet. Nachdem ich viel gegoogelt und gesucht hatte, stieß ich auf Informationen, die auf eine mögliche Fehlerursache hinwiesen, die das klassische "Double-Hop" Problem ist, das auftritt, wenn wir versuchen, auf den entfernten BizTalk Server zuzugreifen, wenn sich sein SQL Server auf einem anderen Rechner befindet .
in Visual Studio war ich nicht genug Informationen über den Fehler bekommen, dass ich ein Fenster integriertes Tool „wbemtest.exe“ versucht zu beheben, was nur los war eine lange Fehlermeldung aufzudecken wie folgt aus:
BizTalk Server kann nicht auf SQL Server zugreifen. Dies kann einen der folgenden Gründe haben: \ n1. Zugriffsberechtigungen wurden dem aktuellen Benutzer verweigert. Melden Sie sich entweder als Benutzer an, dem Berechtigungen für SQL erteilt wurden, und versuchen Sie es erneut, oder gewähren Sie dem aktuellen Benutzer die Berechtigung zum Zugriff auf SQL Server. \ n2. Der SQL Server existiert nicht oder es wurde ein ungültiger Datenbankname angegeben. Überprüfen Sie den Namen, der für den SQL Server und die Datenbank eingegeben wurde, um sicherzustellen, dass sie korrekt sind, wie bei der SQL Server-Installation angegeben. \ n3. Der SQL Server existiert, wird aber derzeit nicht ausgeführt. Verwenden Sie den Windows-Dienststeuerungs-Manager oder SQL Enterprise Manager, um SQL Server zu starten, und versuchen Sie es erneut. \ n4. Eine SQL-Datenbankdatei mit demselben Namen wie die angegebene Datenbank ist bereits im Microsoft SQL Server-Datenordner vorhanden. \ n \ nInterner Fehler von OLE DB-Provider: \ "Anmeldung für den Benutzer 'NT AUTHORITY \ ANONYMOUS-Anmeldung'. \"“
ich versucht habe, mit Firewall und DCOM-Einstellung unter Administrationsdienste spielen -> Komponentendienste aber keine Einstellung für mich arbeitet an Credentials mein Benutzers über „Identitätswechsel“ zu übergeben und abrufen zurück erhalten Standort/senden Informationen über den Hafen.
Bitte teilen Sie eine Problemumgehung/Lösung/Konfigurationseinstellungen, die tatsächlich dieses Problem behebt.
Ich habe bereits durch angegebenen Link gegangen aber ohne Erfolg. Alle 3 Optionen, die in der Antwort angezeigt werden, sind in meinem Szenario nicht anwendbar, da alle Rechte für die Benutzer in unserer Domäne für den Zugriff auf den Biztalk Server konfiguriert wurden. ExplorerOM Api erlaubt keine Überwachungsereignisse, sondern erlaubt Operationen wie Hinzufügen/Aktualisieren/Löschen Biztalk-Artefakte. –
Haben Sie versucht, Ihren Windows-Dienst vom BizTalk-Server auszuführen, für den Sie Informationen abrufen möchten? –
Ja, wir haben das ausprobiert und es funktionierte, aber das Design besteht darin, einen einzigen Anwendungsserver zu verwenden, der unseren Überwachungsdienst hostet, um BizTalk-Ereignisse von anderen Maschinen im Netzwerk zu erfassen. –