Обновление службы MS DRDA для улучшенной поддержки распределенных транзакций

Применяется к
Host Integration Server 2013

Сводка

Служба Microsoft DRDA поддерживает двухфазные транзакции DDA Distributed Unit of Work (DRDA DUW) и распределенные транзакции XA для обеспечения надежных обновлений по сети. Host Integration Server (HIS) 2013 с накопительным пакетом обновления 3 (CU3) включает в себя следующие исправления и улучшения поддержки распределенных транзакций службы DRDA.

Транзакции DRDA DUW

В отличие от версии выпуска службы DRDA или предыдущих накопительных обновлений, это обновление обеспечивает поддержку транзакций DRDA DUW между клиентом DRDA и службой DRDA, которые сопоставлены с транзакциями XA между службой DRDA и SQL Server. Эта поддержка осуществляется путем распространения транзакции DRDA DUW (сопоставленной с идентификатором транзакции XA) в SQL Server и путем зачисления транзакции XA в MS DTC. Служба DRDA ведет файловый журнал записей транзакций (transactionlog.data) (UOWID, XID, состояние, данные журнала) для всех сеансов DRDA. Если сеанс DRDA завершается сомнительной транзакцией, служба DRDA запрашивает повторную синхронизацию журналов клиентом DRDA. А когда служба DRDA запускается и обнаруживает сомнительные транзакции в журнале, служба DRDA запрашивает, чтобы клиент DRDA повторно синхронизировал журналы.

Транзакции XA

Транзакции XA между клиентом DRDA и службой DRDA теперь распространяются на SQL Server и регистрируются в MS DTC. Во время восстановления транзакции служба DRDA возвращает клиенту DRDA сомнительный список, основанный на сведениях из журнала транзакций DTC.

Сведения о накопительном пакете обновления

Это обновление входит в накопительный пакет обновления 3 для Host Integration Server 2013.

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».

Дополнительные сведения

Служба интеграции данных (конфигурации) для DRDA

Настройка службы для DRDA

Файл конфигурации приложения

Конфигурация службы DRDA хранится в файле конфигурации MsDrdaService.exe.config приложения и связанных с ним XML-файлах (сопоставление сообщений об ошибках и сопоставление типов данных). Во время выполнения служба DRDA отслеживает изменения в файле MsDrdaService.exe.config. При обнаружении изменений служба DRDA считывает и использует измененную конфигурацию при обработке новых входящих подключений.

После установки ИТ-специалисты могут настроить конфигурацию службы DRDA, отредактировав файл конфигурации MsDrdaService.exe.config приложения с помощью редактора XML и связанного файла C:\Program Files\Microsoft Host Integration Server 2013\system\Schemas\HostIntegrationDrdaServiceConfiguration.xsd.

Настройка подключений к SQL Server

Повторная синхронизация

Элемент resynchronizationManager файла MsDrdaService.exe.config содержит параметры повторной синхронизации транзакций для управления распределенными транзакциями входящего SQL-клиента. Тип resynchronizationManager — это Microsoft.HostIntegration.Drda.Server.ResynchronizationManager, который обрабатывает входящие распределенные транзакции. Сюда входит регистрация транзакций с помощью координатор распределенных транзакций (Майкрософт), ведение журнала транзакций и повторная синхронизация списка сомнительных транзакций.

<hostIntegration.drdaAs.drdaService xmlns="http://schemas.microsoft.com/his/DrdaAs/DrdaService/2013">
  <services>
    <service name="DrdaService1">
      <resynchronizationManager type="Microsoft.HostIntegration.Drda.Server.ResynchronizationManager, Microsoft.HostIntegration.Drda.Server,Version=9.0.1000.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"
        transactionExpiryDuration="P3D"
        resyncRetryDurationInMinutes = "3"
        resyncIntervalInMinutes = "1"
        transactionLogLocation =""
        />

Пример 1. Элемент Stock resynchronizationManager добавлен в раздел hostIntegration.drdaAs.drdaService файла MsDrdaService.exe.config.

Примечание. Необходимо добавить в MsDrdaService.exe.config новый элемент resynchronizationManager перед запуском PowerShell для чтения или записи параметров в этом новом элементе.

Срок действия транзакции

Атрибут transactionExpriryDuration сообщает службе DRDA о продолжительности хранения транзакции в файле записи транзакции. По истечении заданного периода служба удаляет транзакцию из файла. Этот необязательный атрибут принимает значение длительности. Значение по умолчанию — PT3D (период времени — 3 дня). Значение длительности указывается в форме PnYnMnDTnHnMnS.

Элемент Описание
P Период времени для длительности (обязательно)
nY Количество лет.
нМ Количество месяцев.
nD Количество дней.
T Начало раздела времени (требуется для указания периода времени, состоящего из часов, минут или секунд).
nH Количество часов.
нМ Количество минут.
Сб Число секунд.

Таблица 1: Длительность времени, выраженная в формате XML.

Длительность повторной попытки повторной синхронизации

Атрибут resyncRetryDurationInMinutes сообщает службе DRDA о длительности (в минутах), в течение которой необходимо повторить обработку элемента в списке сомнительных транзакций повторной синхронизации. Этот необязательный атрибут принимает целочисленное значение. Значение по умолчанию — 3 минуты.

Интервал повторной синхронизации

Атрибут resyncIntervalInMinutes сообщает службе DRDA об интервале (в минутах) между обработкой элементов в списке сомнительных транзакций повторной синхронизации. Этот необязательный атрибут принимает целочисленное значение. Значение по умолчанию — 1 минута.

Расположение журнала транзакций

Атрибут transactionLogLocation сообщает службе DRDA о том, куда следует записывать файл журнала транзакций. Этот необязательный атрибут принимает строковое значение. Значением по умолчанию является пустая строка, определенная как папка трассировки Host Integration Server.

Дополнительные сведения см. в документации MSDN о распределенных транзакциях службы DRDA.