Mail Digests not sent after SQL Server names have been changed


This article applies to:

  • Trustwave MailMarshal (SEG)
  • Trustwave ECM/MailMarshal Exchange 7.X

Symptoms:

  • Mail digests not sent
  • Errors in MailMarshal Array Manager logs:
    • DigestThread: database error: Delete record error: 0x80004005 - Transaction context in use by another session
    • Could not find server '<MM_SQLServerName>' in sys.servers.
    • DigestThread: database error: Unable to locate record on database
    • DigestThread: database error: Record being deleted does not exist on the database

Causes:

This issue can happen if the name of the SQL Server computer hosting the MailMarshal database has been changed after product installation, but the SQL Server installation name has not been updated.

This can be verified by running the following SQL script:

use master;
go
exec sp_helpserver

This displays a list of the server names stored in the master SQL tables. You will find a entry in this table with the old name of the host server.

Resolution:

To resolve this issue, complete the following steps:

  1. On the SQL Server (or Instance) hosting the MailMarshal database, run sp_addserver to add the correct name:
    use master;
    go
    exec sp_addserver @server='<MM_SQLServerName>',@local='LOCAL'
    go
  2. Remove the old server:
    use master;
    go 
    exec sp_dropserver '<Old_MM_SQLServerName>'
    go
  3. Verify that the server information is correct by running the following command:
    sp_helpserver
    go
  4. On the MailMarshal database, remove all the old digest entries from the tables: (note, this will not delete your digests - MailMarshal will recreate the entries in this table)
    delete from [digest];
    go
    delete from [digestmember]
    go
  5. Restart the SQL Server Service and MailMarshal Array Manager Services

Repeat these steps for each MailMarshal database and SQL server.


Last Modified 3/15/2020.
https://support.trustwave.com/kb/KnowledgebaseArticle11814.aspx