After deploying a new Site Server the client noticed that the Altiris Logs were being filled with an error message regarding the newly deployed Site Server.
Date: 5/11/2012 9:48:49 a.m.
Tick Count: 92689562
Host Name: XXXXX
Process: w3wp (3436)
Thread ID: 3
Description: Key violation, duplicate resource key has been found in task server list. 74a9054f-078f-47e6-a7c0-fa473dffd0c7
This has been confirmed to be a product defect.
Routinely the SMP executes the following SQL Query to determine the exact number of Site Servers which have the Task Service installed:
SELECT CASE WHEN tcp.[Primary DNS Suffix] IS NOT NULL AND tcp.[Primary DNS Suffix] != '' THEN
[Host Name] + '.' + tcp.[Primary DNS Suffix]
WHEN [Host Name] IS NOT NULL THEN [Host Name]
WHEN [Host Name] IS NULL THEN vci.Name END,
FROM [dbo].[vTaskServiceResource] vts
JOIN [dbo].vRM_Computer_Item vci on vts.ResourceGuid = vci.Guid
INNER JOIN dbo.Inv_AeX_AC_Client_Agent ca on ca._ResourceGuid = vci.Guid and ca.Ident = 'CTSERVAGENT'
LEFT JOIN Inv_AeX_AC_TCPIP tcp ON tcp._ResourceGuid = vci.Guid AND
tcp.[_id] = (SELECT TOP 1 t.[_id]
FROM [Inv_AeX_AC_TCPIP] t
WHERE vts.[ResourceGuid]=t.[_ResourceGuid] AND t.[IP Address] NOT IN ('127.0.0.1', '0.0.0.0', '') AND NOT t.[IP Address] IS NULL
ORDER BY t.Routable DESC)
However, in this instance the above SQL Query returned multiple rows for the affected Site Server. This was because there were two entries in the Inv_AeX_AC_Client_Agent table which referred to the 'CTSERVAGENT' ident.
Normally when a Site Server has the Task service installed it has two instances of the 'Altiris Client Task Server Agent' installed, a x86 and x64 version. However, only the x86 version should be listed in the Inv_AeX_AC_Client_Agent table with the 'CTSERVAGENT' ident
This issue will be resolved in an upcoming pointfix. The current solution is to remove the errornous second entry in the Inv_AeX_AC_Client_Agent table. This was accomplished by executing the following SQL Query:
DELETE FROM Inv_AeX_AC_Client_Agent
WHERE _ResourceGuid = 'ENTER GUID HERE'
AND [Install Path] = 'ENTER THE PATH TO CTServerAgent_x64.dll'
AND Ident = 'CTSERVAGENT'
Symantec Management Platform 7.1 SP2
Windows 2008 R2