Update for the MS DRDA Service to better support distributed transactions
DRDA DUW transactions
Unlike the release version of the DRDA Service or previous cumulative updates, this update enables support for DRDA DUW transactions between DRDA Client and DRDA Service that are mapped to XA transactions between DRDA Service and SQL Server. This support occurs by distributing the DRDA DUW transaction (mapped to an XA transaction ID) to SQL Server and by enlisting the XA transaction with MS DTC. DRDA Service maintains a file-based (transactionlog.data) transaction record log (UOWID, XID, state, log data) for all DRDA sessions. When a DRDA session ends with an in-doubt transaction, DRDA Service requests that DRDA Client resynchronize the logs. And when DRDA Service starts up and finds in-doubt transactions in the log, DRDA Service requests that DRDA Client resynchronize the logs.
XA transactions between DRDA Client and DRDA Service are now distributed to SQL Server and are enlisted with MS DTC. During transaction recovery, DRDA Service returns to DRDA Client an in-doubt list that's based on information in the DTC transaction log.
Cumulative update informationThis update is included in Cumulative Update 3 for Host Integration Server 2013.
Data Integration (Configuration) Service for DRDA
Configuring Service for DRDA
Application configuration fileThe DRDA Service configuration is stored in the MsDrdaService.exe.config application configuration file, and associated XML files (error message mapping and data type mapping). At run time, the DRDA Service monitors the MsDrdaService.exe.config file for changes. When changes are detected, the DRDA Service reads and uses the changed configuration information when it processes new in-bound connections.
Post-installation, IT professionals can customize the DRDA Service configuration by editing the MsDrdaService.exe.config application configuration file by using an XML editor and the associated C:\Program Files\Microsoft Host Integration Server 2013\system\Schemas\HostIntegrationDrdaServiceConfiguration.xsd file.
Configuring SQL Server connections
ResynchronizationThe resynchronizationManager element of the MsDrdaService.exe.config file contains the transaction resynchronization settings for managing in-bound SQL client distributed transactions. The resynchronizationManager type is the Microsoft.HostIntegration.Drda.Server.ResynchronizationManager that processes in-bound distributed transactions. This includes transaction enlistment with Microsoft Distributed Transaction Coordinator, transaction logging, and transaction in-doubt list resynchronization.
<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 ="" />
Example 1: Stock resynchronizationManager element added to the hostIntegration.drdaAs.drdaService section of the MsDrdaService.exe.config file.
Note You must add to the MsDrdaService.exe.config the new resynchronizationManager element before you run PowerShell to read or write settings within this new element.
Transaction expiry durationThe transactionExpriryDuration attribute instructs the DRDA Service about the duration of time to keep a transaction in a transaction record file. After the set period has passed, the service remotes the transaction from the file. This optional attribute accepts a duration value. The default value is PT3D (Period of Time is 3 days). The duration value is specified in the PnYnMnDTnHnMnS form.
|P||Period of time for the duration (required)|
|nY||Number of years.|
|nM||Number of months.|
|nD||Number of days.|
|T||Start of a time section (required to specify a time duration that consists of hours, minutes, or seconds).|
|nH||Number of hours.|
|nM||Number of minutes.|
|S||Number of seconds.|
Resynchronization retry durationThe resyncRetryDurationInMinutes attribute instructs the DRDA Service about the duration (in minutes) within which to retry processing an item in the resynchronization in-doubt transaction list. This optional attribute accepts an integer value. The default value is 3 minutes.
Resynchronization intervalThe resyncIntervalInMinutes attribute instructs the DRDA Service about the interval (in minutes) between processing of items in the resynchronization in-doubt transaction list. This optional attribute accepts an integer value. The default value is 1 minute.
Transaction log locationThe transactionLogLocation attribute instructs the DRDA Service about where it should write the transaction log file. This optional attribute accepts a string value. The default value is an empty string that's defined as the Host Integration Server trace folder.
For more information, see the MSDN documentation about DRDA Service Distributed Transactions.
Article ID: 3032484 - Last Review: 01/27/2016 00:38:00 - Revision: 1.0
- kbqfe kbfix kbexpertiseinter kbbug kbsurveynew KB3032484