Grande surpresa velha da HP

Entrando em um novo projeto, o desenvolvimento e a manutenção de um programa de longa duração, decidi atualizar meu laptop. Há muito tempo eu queria algo tão compacto e leve, para poder levá-lo com segurança a um café, trabalhar por uma ou duas horas fora do escritório.


A escolha caiu no laptop HP com uma tela de 14 '' que suporta a extensão 1920x1080, que foi o critério decisivo para a escolha. O hardware parece estar bom, mas o software da HP faz você pensar se era necessário.


A história


A funcionalidade do programa com o qual você precisa trabalhar, como eu disse, tem vida longa, ou seja, Ele experimentou muitas iterações, mudanças de gerentes e desenvolvedores e é uma mistura de tudo que é correto, compreensível e incompreensível com o status "Por que isso foi necessário?". Em suma, um bom código legado.


Portanto, um dos recursos da funcionalidade é o uso de transações distribuídas. I.e. o computador deve executar o serviço MSDTC (também conhecido como Coordenador de Transações Distribuídas, também conhecido como Coordenador de Transações Distribuídas) e as configurações correspondentes estão ativadas.


Tudo parece estar bem. Para outros membros da equipe (eles não usam a HP), o projeto é compilado, lançado e todos os cenários são elaborados. O trabalho está em pleno andamento.


Bom Pego minha nova HP, configuro, instale, baixe, compile, execute, execute scripts e bam, erro:


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 ... 

Bom Tudo pode acontecer. Estou começando a cavar.


Depois de horas gastas, removendo o antivírus, desativando o firewall (também conhecido como firewall), usando todas as recomendações da Internet, o problema permanece. O erro aparece teimosamente.


Examinando a próxima postagem Erro: 8004E00F ao tentar acessar aplicativos COM + nos Serviços de componentes, encontramos um comentário, graças ao tsd.



Bom Desative os serviços que começam com a HP, pois existem alguns deles:



Desativar o primeiro serviço "Serviço HP Analytics" fornece o resultado. Tudo começa a funcionar. MSDTC funciona bem, todos os scripts são bem sucedidos.


Então, quem é você, serviço HP Analytics? Examinamos o caminho completo e o nome do arquivo executável:


 C:\windows\System32\DriverStore\FileRepository\hpanalyticscomp.inf_amd64_19ec9c352a1b5135\x64\TouchpointAnalyticsClientService.exe 

No mecanismo de pesquisa, basta digitar o Touchpoint Analytics Client para ler tudo bom sobre este programa e o quanto eles tentam removê-lo.


Resumidamente, a julgar pelos registros na Internet, o serviço HP Analytics (também conhecido como TouchpointAnalyticsClientService.exe, também conhecido como HP Touchpoint Analytics, também conhecido como TAInstaller.exe, etc.) é um programa pelo qual a HP remove a telemetria do computador e envia na HP. A principal característica de seu trabalho é que estraga a vida dos usuários da HP, o processador é carregado e, agora, o MSDTC é interrompido.


Resumir


Há um problema com o MSDTC.


Sintomas


  • Você tem um computador HP.
  • Você persistentemente recebe o erro "System.Data.SqlClient.SqlException (0x80131904): MSDTC no servidor 'server_name' está indisponível."
  • Você também recebe o erro "8004E00F ao tentar acessar aplicativos COM + nos Serviços de componentes" ao trabalhar com o Serviço de componentes, ( consulte ).
  • Disponibilidade de um serviço HP Analytics em funcionamento.

Solução rápida:


  1. Execute o utilitário de do :
  2. Nos serviços, desative HP Analytics service :
  3. Nós reiniciamos o computador.

Source: https://habr.com/ru/post/pt463787/


All Articles