Bei einem neuen Projekt, der Entwicklung und Wartung eines langlebigen Programms, habe ich beschlossen, meinen Laptop zu aktualisieren. Ich wollte mir schon lange etwas so Kompaktes und Leichtes besorgen, dass ich es sicher in ein Café mitnehmen und ein oder zwei Stunden außerhalb des Büros arbeiten kann.
Die Wahl fiel auf den HP Laptop mit einem 14-Zoll-Bildschirm, der die Erweiterung 1920 x 1080 unterstützt, was das entscheidende Kriterium für die Wahl war. Die Hardware scheint gut zu sein, aber die Software von HP lässt Sie sich fragen, ob dies notwendig war.
Die Geschichte
Die Funktionalität des Programms, mit dem Sie arbeiten müssen, ist, wie gesagt, langlebig, d. H. Er erlebte viele Iterationen, Änderungen von Managern und Entwicklern und ist eine Mischung aus allem, was korrekt, verständlich und unverständlich mit dem Status "Warum war das notwendig?" Alles in allem guter Legacy-Code.
Eines der Merkmale der Funktionalität ist die Verwendung verteilter Transaktionen. Das heißt, Der Computer sollte den MSDTC-Dienst (auch als Distributed Transaction Coordinator oder Distributed Transaction Coordinator bezeichnet) ausführen und die entsprechenden Einstellungen sind aktiviert.
Alles scheint in Ordnung zu sein. Für andere Teammitglieder (sie verwenden kein HP) wird das Projekt kompiliert, gestartet und alle Szenarien werden ausgearbeitet. Die Arbeit ist in vollem Gange.
Gut. Ich nehme meine brandneue HP, konfiguriere, installiere, lade sie herunter, kompiliere, führe sie aus, führe Skripte aus und bam, Fehler:
System.Data.SqlClient.SqlException (0x80131904): MSDTC on server 'MALS-K9CA69NU' is unavailable. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.TdsParser.TdsExecuteTransactionManagerRequest(Byte[] buffer, TransactionManagerRequestType request, String transactionName, TransactionManagerIsolationLevel isoLevel, Int32 timeout, SqlInternalTransaction transaction, TdsParserStateObject stateObj, Boolean isDelegateControlRequest) at System.Data.SqlClient.TdsParser.GetDTCAddress(Int32 timeout, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlInternalConnectionTds.GetDTCAddress() at System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) at System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx) at System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction) at System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction) at System.Data.ProviderBase.DbConnectionPool.PrepareConnection(DbConnection owningObject, DbConnectionInternal obj, Transaction transaction) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.Open() at ...
Gut. Alles kann passieren. Ich fange an zu graben.
Nach stundenlangem Entfernen des Antivirenprogramms, Deaktivieren der Firewall (auch als Firewall bezeichnet) und Verwenden aller Empfehlungen aus dem Internet bleibt das Problem bestehen. Der Fehler schleicht sich hartnäckig heraus.
Untersuchen des nächsten Beitrags Fehler: 8004E00F Beim Versuch, auf COM + -Anwendungen in Komponentendiensten zuzugreifen, stoßen wir auf einen Kommentar, danke tsd.

Gut. Deaktivieren Sie Dienste ab HP, da es nur wenige davon gibt:

Das Deaktivieren des allerersten Dienstes "HP Analytics-Dienst" führt zum Ergebnis. Alles fängt gerade an zu arbeiten. MSDTC funktioniert einwandfrei, alle Skripte sind erfolgreich.
Wer sind Sie, HP Analytics-Service? Wir sehen uns den vollständigen Pfad und Namen der ausführbaren Datei an:
C:\windows\System32\DriverStore\FileRepository\hpanalyticscomp.inf_amd64_19ec9c352a1b5135\x64\TouchpointAnalyticsClientService.exe
Touchpoint Analytics Client
in der Suchmaschine einfach Touchpoint Analytics Client
, um alles zu lesen gut über dieses Programm und wie sehr sie versuchen, es zu entfernen.
Kurz gesagt, nach den Einträgen im Internet ist der HP Analytics-Dienst (auch bekannt als TouchpointAnalyticsClientService.exe, auch bekannt als HP Touchpoint Analytics, auch bekannt als TAInstaller.exe usw.) ein Programm, mit dem HP Telemetrie von Ihrem Computer entfernt und sendet bei HP. Das Hauptmerkmal seiner Arbeit ist, dass es das Leben von HP Benutzern beeinträchtigt, dann den Prozessor lädt und jetzt MSDTC kaputt geht.
Fassen Sie zusammen
Es liegt ein Problem mit MSDTC vor.
Symptome
- Sie haben einen HP Computer.
- Sie erhalten ständig die Fehlermeldung "System.Data.SqlClient.SqlException (0x80131904): MSDTC auf Server 'Servername' ist nicht verfügbar."
- Bei der Arbeit mit dem Komponentendienst wird auch die Fehlermeldung "8004E00F beim Versuch, auf COM + -Anwendungen in Komponentendiensten zuzugreifen" angezeigt ( siehe ).
- Verfügbarkeit eines funktionierenden HP Analytics-Dienstes.
Schnelle Lösung:
- Führen Sie das
:

- Deaktivieren Sie in Diensten den
HP Analytics service
:

- Wir starten den Computer neu.