Event ID 4228 — Transaction Manager Functionality

Applies To: Windows Server 2008

Transaction Manager is the component of the Microsoft Distributed Transaction Coordinator (MS DTC) that is responsible for coordinating transaction processing among all interested parties.

Event Details

Product: Windows Operating System
ID: 4228
Source: Microsoft-Windows-MSDTC
Version: 6.0
Symbolic Name: IDS_DTC_E_TIPGWINTERNALERROR
Message: MS DTC TIP Gateway internal error. %1 %0

Diagnose

This error might be caused by one of the following conditions:

  • The service must be restarted.
  • A required file is missing from the System32 folder in the Windows directory.

Restart MSDTC

You may have to restart the Microsoft Distributed Transaction Coordinator service (MSDTC). To stop and then restart MSDTC, see "Restart MSDTC."

Confirm that a required file is present in the System32 folder

To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To confirm that the required file Msdtcprx.dll is present in the System32 folder:

  1. Right-click Start, and then click Explore.
  2. Navigate to the Windows folder. In the details pane, double-click System32.
  3. In Search, type msdtcprx.dll. If the file is present, it is listed in the details pane. If the file is not present, see "Check for a required file."

Verify the existence and permissions of MSDTC Trace Directory

Trace directory may be corrupt or permissions on the trace directory may be altered. To verify the trace directory exists and permissions are still correct on it, see "Verify the existence and permissions of MSDTC Trace Directory."

Resolve

Restart MSDTC

Stop and then restart the Microsoft Distributed Transaction Coordinator service (MSDTC).

To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To stop and then restart MSDTC:

  1. Click Start, and then click Command Prompt.
  2. At the command prompt, type net stop msdtc, and then press ENTER.
  3. At the command prompt, type net start msdtc, and then press ENTER.

Ensure common RPC protocols

Ensure that the computers can communicate with each other by confirming that at least one of the following protocols are common to both systems: TCP/IP, Sequenced Package Exchange (SPX), or NetBEUI.

To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To ensure that the computers can communicate because they have at least one system protocol in common:

  1. Click Start, click Control Panel, and then double-click Network and Sharing Center.
  2. Click Manage network connections, right-click an active connection, and then click Properties. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
  3. Click the Networking tab, review the list of protocols under This connection uses the following items and ensure that the computers have at least one of these protocols in common.

Check Windows Firewall settings and network connectivity

Ensure that the computers can communicate with each other by confirming network connectivity. Confirm that firewall settings for the Microsoft Distributed Transaction Coordinator (MS DTC) allow network communication over the appropriate port.

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To confirm network connectivity:

  1. Click Start, and then click Command Prompt.
  2. At the command prompt, use the ping command and the computer name to confirm that the computers are communicating over the network. For example, to confirm that your server can communicate over the network with a computer named ContosoWS2008, type ping ContosoWS2008, and then press ENTER.
  3. A successful connection results in a set of replies from the other computer and a set of ping statistics.

To confirm that MS DTC firewall settings allow network communication over the appropriate port:

  1. Click Start, click Control Panel, and then double-click Windows Firewall.
  2. Click Allow a program through Windows Firewall. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
  3. On Windows Firewall Settings Advanced tab, locate Distributed Transaction Coordinator in the list, and then verify that the check box is selected.

Verify the existence and permissions of MS DTC Trace directory

Microsoft Distributed Transaction Coordinator (MS DTC) could not locate the Trace directory in the Windows/System32/Msdtc folder. The directory might be missing or the access permissions might not be set correctly.

If the Trace directory does not exist, create it. If the Trace directory does exist, verify that the access permissions on the directory are set to Full Control. To check the permissions on the directory, identify the logon account that the Microsoft Distributed Transaction Coordinator service (MSDTC) runs under. If the account that MSDTC runs under does not appear in the list of permissions, add the account as a User.

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

Check the existence of the Trace directory

To check the existence of the Trace directory:

  1. Right-click Start, and then click Explore.
  2. Expand Windows, expand System32, expand Msdtc, and then look for the Trace directory. If the Trace directory does not exist, create it.

Create the Trace directory if it does not exist

To create the Trace directory

  1. Select the Msdtc folder. On the File menu, point to New, and then click Folder.
  2. In the folder name area, type Trace.

Identify the logon account that MSDTC runs under

To identify the logon account that MSDTC runs under:

  1. Click Start, and then click Run.

  2. Type services.msc, and then click OK. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.

  3. In the list of services, locate and select Distributed Transaction Coordinator.

  4. Right-click the Distributed Transaction Coordinator service, and then click Properties.

  5. Click the Log On tab, and make a note of the account in the This account box. This is the account that MSDTC runs under, for example, Network Service.

    Ensure that you note the exact spelling of the account name, including capitalization, in case you need to add the account to the list of users with permissions in the next procedure.

View the access permissions on the Trace directory

To view the access permissions on the Trace directory:

  1. Right-click Start, and then click Explore.

  2. Expand Windows, expand System32, expand Msdtc, and then locate and select the Trace directory.

  3. Right-click the Trace directory, and then click Properties.

  4. Click the Security tab, and then click Advanced.

  5. In the list of permissions, locate the account that MSDTC runs under, and verify that the permission level is Full control.

    If the account that MSDTC runs under does not appear in the list of permissions, add the account as a User.

Add an account as a User with Full Control permissions

To add an account as a User with Full Control permissions:

  1. Right-click Start, and then click Explore.

  2. Expand Windows, expand System32, expand Msdtc, and then locate and select the Trace directory.

  3. Right-click the Trace directory, and then click Properties.

  4. In Attributes, clear the Read-only check box.

  5. Click the Security tab, and then click Edit.

  6. Click Add. If the Windows Security dialog box appears, enter your domain credentials, and then click OK.

  7. In the Select Users, Computers, or Groups dialog box, click Object Types, and then select the Users check box.

  8. In the Enter the object names to select box, type the name of the account that MSDTC runs under, and then click OK

  9. On the Security tab, in the permissions area, select the Allow check box next to Full Control, and then click OK.

    If the Windows Security dialog box appears, click Yes, and then click OK.

Check for a required file

The Transaction Manager error condition might occur if a required file is missing from the System32 folder in the Windows directory.

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To confirm that the required file Msdtcprx.dll is present in the System32 folder :

  1. Right-click Start, and then click Explore.
  2. Navigate to the Windows folder. In the details pane, double-click System32.
  3. In the Search box, type msdtcprx.dll. If the file is present, it is listed in the details pane.

Stop and then restart the Microsoft Distributed Transaction Coordinator service (MSDTC).

To stop and then restart MSDTC:

  1. Click Start, and then click Command Prompt.
  2. At the command prompt, type net stop msdtc, and then press ENTER.
  3. At the command prompt, type net start msdtc, and then press ENTER.

Reinstall MSDTC

The system reported an unexpected error condition. You can resolve this condition by uninstalling and then reinstalling the Microsoft Distributed Transaction Coordinator service (MSDTC).

To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To uninstall and then reinstall MSDTC:

  1. Click Start, and then click Command Prompt.
  2. At the command prompt, type msdtc -uninstall, and then press ENTER.
  3. At the command prompt, type msdtc -install, and then press ENTER.

Correct the low-resource condition

The event message indicates that the problem might be resolved by checking for and correcting a low-resource condition. To resolve this problem:

  • Check the system for a low-resource condition.
  • You can resolve a low-resource condition by increasing the page file size. A page file is a hidden file or files on the hard disk that the operating system uses to hold parts of programs and data files that do not fit in memory. Virtual memory comprises the paging file and physical memory or random access memory (RAM). Windows moves data from the paging file to memory as needed, and it moves data from memory to the paging file to make room for new data. Increasing the page file size usually does not require a restart of the computer.
  • You may be able to resolve a low-resource condition by ending unnecessary processes to free memory resources. Be careful when you end a process. If you end a process that is associated with an open program, the program will close and you will lose unsaved data. If you end a process that is associated with a system service, part of the system might not function properly.

If you continue to get this error, note any details in the event message, and then contact Microsoft Customer Service and Support (CSS). For information about how to contact CSS, see Enterprise Support (https://go.microsoft.com/fwlink/?LinkId=52267).

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

Check the system for a low-resource condition

To check the system for a low-resource condition:

  1. Right-click the taskbar, and then click Task Manager.
  2. Click the Performance tab, and look for the amount of physical memory used under Memory and Physical Memory Usage History. If the amount of memory used is high, consider increasing the size of the page file.

Increase the size of the page file

To increase the size of the page file:

  1. Click Start, click Control Panel, and then double-click System.
  2. Under Tasks, click Advanced System Settings. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.
  3. Click the Advanced tab. Under Performance, click Settings.
  4. In the Performance Options dialog box, click the Advanced tab.
  5. Under Virtual Memory, click Change.
  6. Clear the Automatically manage paging file size for all drives check box.
  7. Under Drive [Volume Label], click the drive that contains the paging file that you want to change.
  8. Click Custom size, type a new size in megabytes in the Initial size (MB) or Maximum size (MB) box, click Set, and then click OK.

Free memory to end a process

To free memory to end a process:

  1. Right-click the taskbar, and then click Task Manager.

  2. Click the Processes tab, and then click Show processes from all users (at the bottom of the tab). If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Continue.

  3. Be careful when you end processes. If you end a process that is associated with an open program, the program will close and you will lose unsaved data. If you end a process that is associated with a system service, part of the system might not function properly.

    Try to identify processes that are leaking memory by looking for a process with unusually high memory consumption. Select a process to end, and then click End Process. For more information about how to identify a process that is leaking memory, see Using Performance Monitor to Identify a Pool Leak (https://go.microsoft.com/fwlink/?LinkId=105512).

For more information about RAM, virtual memory, and page file, see RAM, Virtual Memory, Pagefile and all that stuff (https://go.microsoft.com/fwlink/?LinkId=105511).

Verify

To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To verify that the Microsoft Distributed Transaction Coordinator (MS DTC) is running:

  1. Click Start, and then click Command Prompt.
  2. At the command prompt, type sc query msdtc, and then press ENTER.
  3. The system responds with information about the service. Confirm that these two items appear: SERVICE_NAME: msdtc and STATE : 4 RUNNING.

Transaction Manager Functionality

Application Server