Другое

Исправление ошибки 0X80004005 при обновлении BizTalk 2016 до 2020 с SSO

Узнайте, как устранить ошибку 0X80004005 при обновлении BizTalk Server 2016 до 2020 на серверах SSO в многосерверных средах. Полное руководство по устранению неполадок с решениями для MSDTC и подключения к SQL.

Проблема при обновлении BizTalk Server 2016 до 2020 с серверами SSO

Настройка среды

  • 3 сервера приложений (запускают консоль администрирования, экземпляры узлов)
  • 2 сервера SSO (запускают корпоративный единый вход)
  • В предыдущей среде с только 1 сервером приложений обновление прошло успешно

Описание проблемы

При попытке обновить BizTalk Server 2016 до 2020 на серверах SSO, нажатие “Установить Microsoft BizTalk Server 2020” не приводит к каким-либо действиям. Процесс установки не продолжается.

Сведения об ошибках

При запуске установки с включенным ведением журнала были записаны следующие записи:

[4:28:53 PM Info] Running prehook init function
[4:28:53 PM Info] Entering external pre hook init function
[4:28:53 PM Info] OS version check passed.
[4:28:53 PM Info] Detecting whether UDDI is installed or not
[4:28:53 PM Info] UDDI is not installed
[4:28:53 PM Info] Detecting whether RFID is installed or not
[4:28:53 PM Info] RFID is not installed
[4:28:53 PM Info] Detecting whether Microsoft OLE DB for SQL Server is installed or not
[4:28:53 PM Info] Microsoft OLE DB for SQL Server is installed
[4:28:53 PM Info] Detecting installed version of BizTalk Server
[4:28:53 PM Info] BizTalk Server 2016 is installed
[4:28:53 PM Info] Logging biztalk version.
[4:28:53 PM Warning] RerunUpgrade value not found, returning S_FALSE
[4:28:53 PM Info] Checking if SKU upgrade is needed.
[4:28:53 PM Info] This is Developer Edition.
[4:28:53 PM Info] Developer Edition is installed.
[4:28:53 PM Warning] RerunUpgrade value not found, returning S_FALSE
[4:28:53 PM Info] Checking Version of Biztalk. Installed version is 3.12.774.0.
[4:28:53 PM Info] Comparing BTS2016 version with the installed version. 
[4:28:53 PM Info] bVersionFound = TRUE 
[4:28:53 PM Warning] RerunUpgrade value not found, returning S_FALSE
[4:28:53 PM Info] Install path for Product {B084F3A7-3E8F-4E7B-B673-EED1715D28ED} is C:\Program Files (x86)\Microsoft BizTalk Server 2016\
[4:28:53 PM Info] Detecting installed features of BizTalk Server 2016
[4:28:53 PM Info] Detecting feature WMI
[4:28:53 PM Info] Feature: WMI is installed
[4:28:53 PM Info] Feature: WMI is not mapped. Using same feature name.
[4:28:53 PM Info] Detecting feature BizTalk
[4:28:53 PM Info] Feature: BizTalk is installed
[4:28:53 PM Info] Feature: BizTalk is not mapped. Using same feature name.
[4:28:53 PM Info] Detecting feature SSOAdmin
[4:28:53 PM Info] Feature: SSOAdmin is installed
[4:28:53 PM Info] Feature: SSOAdmin is not mapped. Using same feature name.
[4:28:53 PM Info] Detecting feature AdditionalApps
[4:28:53 PM Info] Feature: AdditionalApps is installed
[4:28:53 PM Info] Feature: AdditionalApps is not mapped. Using same feature name.
[4:28:53 PM Info] Detecting feature MsEDIAS2
[4:28:53 PM Info] Feature: MsEDIAS2 is not installed
[4:28:53 PM Info] Detecting feature MsEDIAS2StatusReporting
[4:28:53 PM Info] Feature: MsEDIAS2StatusReporting is not installed
[4:28:53 PM Info] Detecting feature PAM
[4:28:53 PM Info] Feature: PAM is not installed
[4:28:53 PM Info] Detecting feature Documentation
[4:28:53 PM Info] Feature: Documentation is not installed
[4:28:53 PM Info] Detecting feature MOT
[4:28:53 PM Info] Feature: MOT is not installed
[4:28:53 PM Info] Detecting feature Engine
[4:28:53 PM Info] Feature: Engine is not installed
[4:28:53 PM Info] Detecting feature MSMQ
[4:28:53 PM Info] Feature: MSMQ is not installed
[4:28:53 PM Info] Detecting feature Runtime
[4:28:53 PM Info] Feature: Runtime is not installed
[4:28:53 PM Info] Detecting feature WCFAdapter
[4:28:53 PM Info] Feature: WCFAdapter is not installed
[4:28:53 PM Info] Detecting feature WcfAdapterAdminTools
[4:28:53 PM Info] Feature: WcfAdapterAdminTools is not installed
[4:28:53 PM Info] Detecting feature AdminAndMonitoring
[4:28:53 PM Info] Feature: AdminAndMonitoring is not installed
[4:28:53 PM Info] Detecting feature MonitoringAndTracking
[4:28:53 PM Info] Feature: MonitoringAndTracking is not installed
[4:28:53 PM Info] Detecting feature AdminTools
[4:28:53 PM Info] Feature: AdminTools is not installed
[4:28:53 PM Info] Detecting feature BizTalkAdminSnapIn
[4:28:53 PM Info] Feature: BizTalkAdminSnapIn is not installed
[4:28:53 PM Info] Detecting feature HealthActivityClient
[4:28:53 PM Info] Feature: HealthActivityClient is not installed
[4:28:53 PM Info] Detecting feature BAMTools
[4:28:53 PM Info] Feature: BAMTools is not installed
[4:28:53 PM Info] Detecting feature SSOServer
[4:28:53 PM Info] Feature: SSOServer is installed
[4:28:53 PM Info] Feature: SSOServer is not mapped. Using same feature name.
[4:28:53 PM Info] Detecting feature RulesEngine
[4:28:53 PM Info] Feature: RulesEngine is not installed
[4:28:53 PM Info] Detecting feature OLAPNS
[4:28:53 PM Info] Feature: OLAPNS is not installed
[4:28:53 PM Info] Detecting feature FBAMCLIENT
[4:28:53 PM Info] Feature: FBAMCLIENT is not installed
[4:28:53 PM Info] Detecting feature BAMEVENTAPI
[4:28:53 PM Info] Feature: BAMEVENTAPI is not installed
[4:28:53 PM Info] Detecting feature ProjectBuildComponent
[4:28:53 PM Info] Feature: ProjectBuildComponent is not installed
[4:28:53 PM Warning] Failed to resolve database: Alias=MGMTDB, Error: 0
[4:28:53 PM Warning] Management DB is not resolved. Skipping resolving all other databases except RulesEngine DB
[4:28:53 PM Warning] Failed to resolve database: Alias=RULEENGINEDB, Error: 0
[4:28:53 PM Info] Unable to resolve Mgmt DB. Failed with hr=80070002.  This usually means that the machine has not been configured.
[4:28:53 PM Info] Entering QueryServices.
[4:28:53 PM Warning] QueryServices::OpenService failed for W3SVC
[4:28:53 PM Warning] QueryServices::QueryService failed for W3SVC
[4:28:53 PM Warning] QueryServices::QueryServiceName failed for W3SVC
[4:28:53 PM Warning] QueryServices::OpenService failed for EDI Subsystem
[4:28:53 PM Warning] QueryServices::QueryService failed for EDI Subsystem
[4:28:53 PM Warning] QueryServices::QueryServiceName failed for EDI Subsystem
[4:28:53 PM Warning] QueryServices::OpenService failed for RuleEngineUpdateService
[4:28:53 PM Warning] QueryServices::QueryService failed for RuleEngineUpdateService
[4:28:53 PM Warning] QueryServices::QueryServiceName failed for RuleEngineUpdateService
[4:28:53 PM Info] Leaving QueryServices with hr=0
[4:28:53 PM Info] Entering QueryServices.
[4:28:54 PM Info] Leaving QueryServices with hr=0
[4:28:54 PM Info] Adding Stage: Backup Files in Task: PreHook to TaskInfo XML
[4:28:54 PM Info] Adding Task: PreHook to TaskInfo XML
[4:28:54 PM Info] Adding Stage: Uninstalling Products in Task: Uninstall to TaskInfo XML
[4:28:54 PM Info] Adding Task: Uninstall to TaskInfo XML
[4:28:54 PM Info] Product added in Uninstall list is :  Microsoft BizTalk Server 2016
[4:28:54 PM Info] Added product Microsoft BizTalk Server 2016  to uninstall
[4:28:54 PM Info] Adding Stage: Restore Files in Task: PostHook to TaskInfo XML
[4:28:54 PM Info] Adding Task: PostHook to TaskInfo XML
[4:28:54 PM Info] Adding Stage: Backup Registry in Task: PreHook to TaskInfo XML
[4:28:54 PM Info] Adding Stage: Restore Registry in Task: PostHook to TaskInfo XML
[4:28:54 PM Info] Adding Stage: Configuration Upgrade in Task: PostHook to TaskInfo XML
[4:28:54 PM Info] IsWow64Process succeeded.
[4:28:54 PM Info] IsWow64Process succeeded.
[4:28:54 PM Info] IsWow64Process returned true. Checking for 64-bit SSO
[4:28:54 PM Info] Entering SSOServerInitHook
[4:28:54 PM Info] Entering CSSOProductInfo::Initialize
[4:28:54 PM Info] Looking for previous versions of SSO
[4:28:54 PM Info] Looking for installed products
[4:28:54 PM Info] Found installed product with Msi id {266F26EE-0F49-41BB-ADDF-66D7FD9C114D}
[4:28:54 PM Info] Getting the InstalledProductName product info for product {266F26EE-0F49-41BB-ADDF-66D7FD9C114D}
[4:28:54 PM Info] Got product info value: Microsoft Enterprise Single Sign-On
[4:28:54 PM Info] Detecting the installed features
[4:28:54 PM Info] Detecting feature Server
[4:28:54 PM Info] Feature is installed, getting the title
[4:28:54 PM Info] Title is: Server
[4:28:54 PM Info] Detecting feature Admin
[4:28:54 PM Info] Feature is installed, getting the title
[4:28:54 PM Info] Title is: Administration
[4:28:54 PM Info] Detecting feature SSOSetup
[4:28:54 PM Info] Feature is installed, getting the title
[4:28:54 PM Info] Title is: SSOSetup
[4:28:54 PM Info] Detecting feature SSOMMC
[4:28:54 PM Info] Feature is installed, getting the title
[4:28:54 PM Info] Title is: SSOMMC
[4:28:54 PM Info] Detecting feature SDK
[4:28:54 PM Info] Detecting feature froot
[4:28:54 PM Info] Detecting feature Pwdsync
[4:28:54 PM Info] Checking the ENTSSO service state
[4:28:54 PM Info] Connecting to SCM
[4:28:54 PM Info] Connecting to ENTSSO
[4:28:54 PM Info] The current state of ENTSSO service is 0X00000001
[4:28:54 PM Info] SCM and service handles released
[4:28:54 PM Info] Found Microsoft Enterprise Single Sign-On (version 10) with Msi id {266F26EE-0F49-41BB-ADDF-66D7FD9C114D}
[4:28:54 PM Info] Loading the SSO configuration from the database
[4:28:54 PM Info] Loading database information from registry
[4:28:54 PM Info] Got Sql database SSODB on *********-SQL-001
[4:28:54 PM Info] Connecting to the database master on server *********-SQL-001
[4:29:09 PM Error] x:\bt\1069868\repo\src\esso\setup\setuphook\util\sqlutil.cpp(72): Failed with hr 0X80004005
[4:29:09 PM Error] x:\bt\1069868\repo\src\esso\setup\setuphook\util\sqlutil.cpp(111): Failed with hr 0X80004005

Попытки устранения неполадок

  • Проверено подключение к SQL с помощью sqlcmd -S *********-SQL-001 -d master -E, что было успешным
  • Тестирование установки на серверах приложений показало сообщение “Обновление частично успешно: обновление не может быть продолжено, так как SSO не может быть обновлено”

Вопрос

Сталкивался ли кто-нибудь с этой проблемой при обновлении BizTalk Server 2016 до 2020 на серверах SSO, и если да, то какие шаги можно предпринять для ее решения?

Проблема обновления с BizTalk Server 2016 до 2020, связанная с серверами SSO, является распространенным вызовом в многосерверных средах, в основном вызванная проблемами с подключением к SQL и конфигурацией MSDTC в процессе обновления SSO. Код ошибки 0X80004005 указывает на неопределенную ошибку, обычно связанную с проблемами подключения к базе данных или проблемами с координатором распределенных транзакций между вашими серверами SSO и SQL Server.


Содержание


Понимание процесса обновления SSO

Процесс обновления компонента Корпоративный единый вход (Enterprise Single Sign-On, SSO) следует определенной последовательности, которая отличается от других компонентов BizTalk. При обновлении с BizTalk Server 2016 до 2020 процесс обновления SSO:

  • Требует запуска ESSO Setup.exe с установочного носителя BizTalk Server 2020
  • Необходимо выбрать “Microsoft Enterprise Single Sign-On” в диалоговом окне Autorun
  • Папка установки по умолчанию - \\Platform\\SSO
  • В многокомпьютерных средах требуется сначала обновить компьютер сервера главного секрета SSO источник

Из ваших журналов видно, что программа установки успешно обнаруживает существующую установку SSO, но не удается при попытке подключения к базе данных SQL (Got Sql database SSODB on *********-SQL-001) с ошибкой Failed with hr 0X80004005. Это указывает на то, что проблема связана именно с подключением к SQL в фазе конфигурации SSO.


Распространенные причины ошибки 0X80004005

Ошибка 0X80004005 при обновлении BizTalk SSO обычно вызвана несколькими основными причинами:

1. Проблемы с конфигурацией MSDTC

Процесс обновления SSO использует Microsoft Distributed Transaction Coordinator (MSDTC) для распределенных транзакций между серверами. Если функциональность MSDTC недоступна в сети между серверами BizTalk и SQL Server, произойдет эта ошибка источник.

2. Проблемы с подключением к SQL

Хотя ваш тест sqlcmd показывает базовое подключение, обновление SSO требует конкретных разрешений и параметров подключения, которые могут не охватываться базовыми тестами подключения.

3. Разрешения учетной записи службы

Учетная запись, запускающая службу SSO, должна быть членом группы “Администраторы SSO” и иметь соответствующие разрешения SQL Server источник.

4. Неполная установка предварительных требований

Журналы установки показывают, что установлен драйвер OLE DB для SQL Server от Microsoft, но другие предварительные требования, такие как пакеты Visual C++ 2015-2019 redistributable, могут отсутствовать или быть неправильно настроены источник.


Пошаговый подход к устранению неполадок

1. Проверка конфигурации MSDTC

Перед попыткой обновления SSO убедитесь, что MSDTC правильно настроен:

  • Включите сетевой доступ DTC на всех серверах BizTalk и экземплярах SQL Server
  • Настройте параметры безопасности MSDTC для разрешения сетевых транзакций
  • Проверьте подключение MSDTC с помощью DTCPing между серверами
  • Убедитесь, что на всех серверах используется одна и та же учетная запись для MSDTC

Важно: Согласно документации Microsoft, “Перед установкой и настройкой BizTalk Server в многосерверной среде включите сетевой доступ DTC и сетевой доступ COM+ на всех серверах BizTalk и любых удаленных экземплярах SQL Server, используемых BizTalk Server.”

2. Проверка всех предварительных требований

Убедитесь, что все предварительные требования правильно установлены:

powershell
# Проверка версии .NET Framework
Get-ChildItem "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP" -Recurse | Get-ItemProperty -Name Version -EA 0 | Where-Object { $_.PSChildName -match '^(?!S)\p{L}'} | Select-Object PSChildName, Version

# Проверка Visual C++ Redistributable
Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object { $_.DisplayName -like "*Visual C++*" } | Select-Object DisplayName, DisplayVersion

3. Конфигурация учетной записи службы SSO

Проверьте конфигурацию учетной записи службы:

  • Убедитесь, что учетная запись службы SSO является членом локальной группы Администраторы
  • Проверьте разрешения SQL Server для учетной записи службы SSO
  • Убедитесь, что учетная запись имеет доступ к базе данных SSODB

4. Тестирование подключения к базе данных

Выполните комплексное тестирование подключения к SQL:

sql
-- Проверка базового подключения
SELECT @@VERSION;

-- Проверка подключения к базе данных SSO
USE SSODB;
SELECT * FROM ENTSSO_CONFIG;

-- Проверка разрешений
EXEC sp_helpuser;

Особенности многосерверной среды

Ваша многосерверная среда introduces несколько сложностей:

1. Конфигурация сервера главного секрета SSO

В вашей среде с 2 серверами SSO один должен быть назначен сервером главного секрета. Процесс обновления должен следовать этой последовательности:

  1. Сначала обновите сервер главного секрета SSO
  2. Затем обновите вторичные серверы SSO
  3. Наконец, обновите серверы приложений

Примечание: Согласно рекомендациям Microsoft, “В многосерверной среде обновите компьютер сервера главного секрета SSO.”

2. Конфигурация сети

Убедитесь в правильной настройке сети:

  • Проверьте, что все серверы могут разрешать имена друг друга
  • Проверьте правила брандмауэра для SQL Server (порт по умолчанию 1433) и MSDTC (порты 135 и динамические порты)
  • Убедитесь в согласованности сетевых протоколов на всех серверах

3. Конфигурация службы

Проверьте конфигурацию службы на всех серверах:

powershell
# Проверка статуса службы ENTSSO
Get-Service -Name "ENTSSO" | Select-Object Name, Status, StartType

# Проверка учетной записи службы
Get-WmiObject -Class Win32_Service -Filter "Name='ENTSSO'" | Select-Object Name, StartName

Альтернативные стратегии обновления

Если стандартный процесс обновления продолжает давать сбой, рассмотрите эти альтернативные подходы:

1. Поэтапная установка компонентов

Вместо обновления всех компонентов одновременно попробуйте установить компоненты SSO выборочно:

powershell
# Установка только компонентов SSO из командной строки
setup.exe /i SSOServer,SSOAdmin,SSOMMC,SSOSetup

2. Ручная конфигурация SSO

После установки базовых компонентов BizTalk 2020 вручную настройте SSO:

  1. Отконфигурируйте все на новом сервере
  2. Запустите программу установки BizTalk снова и удалите параметр “Enterprise Single Sign-On Master Secret Server” в разделе Дополнительное ПО
  3. Повторно настройте SSO вручную с помощью инструментов конфигурации источник

3. Подход с чистой установкой

В крайнем случае рассмотрите:

  1. Создайте резервную копию главного секрета SSO
  2. Удалите существующие компоненты SSO
  3. Выполните чистую установку компонентов BizTalk 2020 SSO
  4. Восстановите главный секрет и повторно настройте SSO

Проверка после обновления

После успешного обновления компонентов SSO выполните эти шаги проверки:

1. Проверка службы SSO

powershell
# Тестирование функциональности службы SSO
Test-Service -Name "ENTSSO" -ExpectedStatus "Running"

# Проверка подключения к базе данных SSO
Invoke-Sqlcmd -ServerInstance "*********-SQL-001" -Database "SSODB" -Query "SELECT 1 AS TestConnection" -ErrorAction Stop

2. Межсерверная проверка

Проверьте функциональность на всех серверах:

  • Убедитесь, что серверы приложений могут взаимодействовать с обновленными серверами SSO
  • Протестируйте единый вход для приложений
  • Проверьте, что службы отслеживания и мониторинга работают правильно

3. Мониторинг производительности

Мониторьте обновленную среду на предмет проблем с производительностью:

  • Проверьте метрики производительности SQL Server
  • Мониторьте время отклика службы SSO
  • Просмотрите журналы событий на предмет повторяющихся ошибок

Заключение

Проблема обновления SSO с BizTalk Server 2016 до 2020, с которой вы столкнулись, в основном связана с конфигурацией MSDTC и подключением к SQL в вашей многосерверной среде. Ключевые выводы:

  1. Конфигурация MSDTC: Убедитесь в правильной настройке MSDTC и сетевом доступе между всеми серверами, так как это наиболее распространенная причина ошибки 0X80004005
  2. Последовательность обновления: Следуйте правильной последовательности - сначала обновите сервер главного секрета SSO, затем вторичные серверы SSO, и наконец серверы приложений
  3. Разрешения учетной записи службы: Убедитесь, что учетные записи службы SSO имеют соответствующие разрешения как на локальном компьютере, так и на SQL Server
  4. Альтернативные подходы: Если стандартное обновление не удается, рассмотрите ручную конфигурацию SSO или подходы с чистой установкой

Для успешного решения сосредоточьтесь сначала на конфигурации MSDTC, затем проверьте подключение к SQL с конкретными требованиями процесса обновления SSO, а не полагайтесь на базовые тесты подключения, такие как sqlcmd.


Источники

  1. Upgrade to BizTalk Server 2020 - Microsoft Learn
  2. Install BizTalk Server in a Multi-Computer Environment - Microsoft Learn
  3. Troubleshooting Configuration - Microsoft Learn
  4. Known Issues - Installation - Microsoft Learn
  5. Easy BizTalk Server 2020 Installation Guide - Art2link Corporation
  6. Microsoft BizTalk 2020 Installation - YouTube
  7. Connecting new BizTalk node to cluster fails with EntSSO - Stack Overflow
  8. BizTalk Server 2016 > 2020 Upgrade - Stack Overflow
Авторы
Проверено модерацией
Модерация