Mail History fails to retrieve messages when databases are on separate servers


This article applies to:

  • Trustwave SPE/MailMarshal SPE 3.0 and above 
  • SQL Server

Symptoms:

  • SPE and SEG/MailMarshal SMTP databases are on separate servers
  • Mail History or Mail Search from the Customer Console fails
  • Example errors:
    • MSDTC is not enabled
    • Unable to begin a distributed transaction
    • Error performing task e PerformMailSearch: The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "NAME" was unable to begin a distributed transaction. (where "SQLNCLI11" is the protocol used and "NAME" is the IP or FQDN of the SPE Database server)
    • The local MS DTC detected that the MS DTC on COMPUTERCLIENT has the same unique identity as the local MS DTC.

Causes:

  • The versions of SQL Server supported by SPE 3.0 and above use transactions for linked server queries. The Distributed Transaction Coordinator (DTC) must be running to enable these transactions.
  • DTC is not enabled or configured by default.
  • Cloning: If you use cloned Virtual Machines, the identity of MSDTC on cloned servers may be identical, causing communication failures.

Resolution:

Enabling and Configuring DTC

  1. On each server, start the DTC service (using the Windows Services control panel).
  2. On each server, configure DTC properties.
    • Open Administrative Tools > Component Services.
    • Right-click "My Computer" and select Properties.
    • On the MSDTC tab, ensure that "Use local coordinator" is selected.
    • To set security configuration:
      • Windows 2003: On the MSDTC tab, click Security Configuration and select the following: Network DTC Access, Allow Remote Clients, Allow Inbound, Allow Outbound, No authetication required, Enable XA Transactions.
      • Windows 2008: In Component Services > My Computer > Distributed Transaction Coordinator, right-click "Local DTC" and select Properties. On the Security tab, select the following: Network DTC Access, Allow Remote Clients, Allow Inbound, Allow Outbound, No authetication required, Enable XA Transactions.

  3. Exit from Component Services.
  4. Restart the computer.

Resolving Cloning Issues

To resolve identity issues with cloned operating systems, uninstall and re-install MSDTC. Caution: all MSDTC configuration on the affected server is lost.

  1. From an elevated command prompt:
    net stop msdtc
    msdtc -uninstall
    net stop msdtc
  2. Run "services.msc" and verify that the "Distributed Transaction Coordinator" is stopped and not listed.
  3. From an elevated command prompt:
    msdtc - install
  4. Enable and configure DTC following the instructions above.

Notes:

The setting "No authentication" is typically acceptable within a local network and has been used for testing by Trustwave. If your environment supports Mutual Authentication, you can choose to use that setting.


Last Modified 7/25/2016.
https://support.trustwave.com/kb/KnowledgebaseArticle13797.aspx