Unexpected error while attempting to read from the Database - AM Report Pack
説明
When trying to run reports: Mailbox Processing Rate Last Mailbox Processed Top Unsynchronized Mailboxes
You receive the following error: Unexpected error while attempting to read from the database.
[OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ] OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a]. The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.
SELECT [AMServerName], COUNT(*) AS [_Count] FROM (SELECT * FROM (SELECT AMServerName, MailboxName, MessageID, [MsgSize(KB)], DateProcessed, [Date] FROM (SELECT TOP 1000 'hqemarkap01' AS AMServerName, Name AS MailboxName, OrigionalMessageID AS MessageID, Size / 1024.0 AS [MsgSize(KB)], DateProcessed, CONVERT(DATETIME, CONVERT(NVARCHAR, DateProcessed, 112), 112) AS [Date] FROM [hqemarkdb01].[ArchiveManager].dbo.Message ME INNER JOIN [hqemarkdb01].[ArchiveManager].dbo.MailboxMessage MAME ON MAME.MessageID = ME.MessageID INNER JOIN [hqemarkdb01].[ArchiveManager].dbo.Mailbox MA ON MA.MailboxID = MAME.MailboxID ORDER BY DateProcessed DESC ) InnerQuery) DummyQuery) [_IntResult] WHERE (([AMServerName] IN (N'hqemarkap01'))) GROUP BY [AMServerName] ORDER BY [AMServerName] ASC
(0x80040217)
All other Archive Manager Report Pack Reports run successfully
原因
These 3 reports are real time reports, therefore, these reports come from the Archive Manager Database itself, they do not rely on the MessageStats Tables to populate thier data.
MessageStats uses a Linked Server to communicate with the Archive Manager Database. The Archive Manager Database Server does not have Network DTC enabled. Also, if the two communicating database servers are different versions (SQL 2000 and SQL 2005) you must also ensure that Network DTC is set to use the "No Authentication Required" option
対策
Resolution: You must configure the Archive Manager Database server to allow Network DTC 1. On the Archive Manager Database Server go to Start | Administrative Tools | Component Services 2. Expand Component Service Node | Computers | My Computer 3. Right-Click My Computer and select Properties | MSDTC Tab 4. In the Transaction Configuration Section click the Security Configuration button 5. Select the following check boxes a. Network DTC Access b. Allow Remote Administration c. Allow Inbound d. Allow Outbound e. If you are using SQL 2000 for the MessageStats Database and SQL 2005 Server for the Archive Manager Database then you also need to set the "No Authentication Required" option