الانضمام إلى مشروع جديد ، وتطوير وصيانة برنامج طويل العمر ، قررت ترقية جهاز الكمبيوتر المحمول. لطالما أردت أن أحصل على شيء مضغوط جدًا ، حتى أتمكن من اصطحابه معي بأمان إلى المقهى ، والعمل لمدة ساعة أو ساعتين خارج المكتب.
وقع الاختيار على كمبيوتر HP المحمول بشاشة 14 بوصة تدعم امتداد 1920 × 1080 ، والذي كان المعيار الحاسم للاختيار. يبدو أن الجهاز جيد ، لكن البرنامج من HP يجعلك تتساءل عما إذا كان ضروريًا.
القصة
إن وظيفة البرنامج الذي تحتاج إلى العمل معه ، كما قلت ، طويلة الأجل ، أي لقد واجه العديد من التكرارات ، وتغييرات المديرين والمطورين ، وهو مزيج من كل ما هو صحيح ومفهوم وغير مفهوم مع الحالة "لماذا كان هذا ضروريًا؟". الكل في الكل ، رمز إرث جيد.
لذلك ، واحدة من ميزات الوظيفة هو استخدام المعاملات الموزعة. أي يجب أن يشغل الكمبيوتر خدمة MSDTC (ويعرف أيضًا باسم منسق المعاملات الموزعة ، ويعرف أيضًا باسم منسق المعاملات الموزعة) ويتم تمكين الإعدادات المقابلة.
يبدو أن كل شيء على ما يرام. بالنسبة لأعضاء الفريق الآخرين (لا يستخدمون HP) ، يتم تجميع المشروع وإطلاقه ووضع جميع السيناريوهات. العمل على قدم وساق.
حسنا. أحصل على العلامة التجارية الجديدة HP ، تكوين ، تثبيت ، تنزيل ، ترجمة ، تشغيل ، تشغيل البرامج النصية و bam ، خطأ:
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 ...
حسنا. أي شيء يمكن أن يحدث. أنا بدأت الحفر.
بعد قضاء ساعات ، إزالة المشكلة ، تعطيل جدار الحماية (ويعرف أيضًا باسم جدار الحماية) ، باستخدام جميع التوصيات من الإنترنت ، تظل المشكلة قائمة. الخطأ يزحف بعناد.
فحص المشاركة التالية خطأ: 8004E00F عند محاولة الوصول إلى تطبيقات COM + في خدمات المكونات ، صادفنا تعليقًا ، شكرًا tsd.

حسنا. تعطيل الخدمات التي تبدأ بـ HP ، نظرًا لوجود عدد قليل منها:

تعطيل الخدمة الأولى "HP Analytics service" يعطي النتيجة. كل شيء يبدأ للتو في العمل. MSDTC يعمل بشكل جيد ، وجميع البرامج النصية ناجحة.
إذن من أنت ، خدمة HP Analytics؟ نحن ننظر إلى المسار الكامل واسم الملف القابل للتنفيذ:
C:\windows\System32\DriverStore\FileRepository\hpanalyticscomp.inf_amd64_19ec9c352a1b5135\x64\TouchpointAnalyticsClientService.exe
في محرك البحث ، فقط اكتب Touchpoint Analytics Client
لقراءة كل شيء خير حول هذا البرنامج ومدى صعوبة محاولة إزالته.
باختصار ، إذا نظرنا إلى السجلات الموجودة على الإنترنت ، فإن خدمة HP Analytics (المعروف أيضًا باسم TouchpointAnalyticsClientService.exe ، ويعرف أيضًا باسم HP Touchpoint Analytics ، ويعرف أيضًا باسم TAInstaller.exe ، وما إلى ذلك) هو برنامج تقوم به HP بإزالة القياس عن بُعد من جهاز الكمبيوتر وترسله في HP. الميزة الرئيسية لعمله هي أنه يفسد حياة مستخدمي HP ، ثم يقوم المعالج بتحميل ، ثم ، الآن ، يكسر MSDTC.
لخص
هناك مشكلة مع MSDTC.
الأعراض:
- لديك كمبيوتر HP.
- تحصل باستمرار على الخطأ "System.Data.SqlClient.SqlException (0x80131904): MSDTC على الخادم 'server_name' غير متوفر."
- يمكنك أيضًا الحصول على الخطأ "8004E00F عند محاولة الوصول إلى تطبيقات COM + في خدمات المكونات" عند العمل مع خدمة المكونات ، ( انظر ).
- توفر خدمة HP Analytics فعالة.
إصلاح سريع:
- قم بتشغيل الأداة المساعدة
:

- في الخدمات ، قم بتعطيل
HP Analytics service
:

- نحن إعادة تشغيل الكمبيوتر.