The last couple of days saw me chasing my tail trying to find the cause of this peksy error in our SMP7.5 event logs,
Failed to perform a collection membership update on the collection 'Computers: Windows 7' (c9cbc196-42a4-464c-9730-a1f0eb0ac0b9). An unhandled exception has occurred. Delta membership update failed.
I checked out the filter in question, 'Computers: Windows 7' , and nothing wrong with it that I could see,
SELECT cr.[Guid] AS [_ResourceGuid] FROM vComputerResource AS cr JOIN Inv_AeX_AC_Identification AS id ON id._ResourceGuid = cr.[Guid] WHERE cr.IsManaged = 1 AND dbo.fnSysMask_GetWindowsOSNumber( id.[OS System Mask] ) = 24 --Windows 7
And apparently from a SQL point of view, neither could the server as performing a manual update on the filter reported no errors. I copied the SQL into SQL Server Management Studio, and also no errors there.
This error therefore only appeared on Delta Updates.
Rather than puzzle more, I decided to call Symantec Support. Two hours later the solution was in hand. There is a pesky bug which means that the last line in your filter SQL cannot be a comment unless it's followed by a carriage return. Support gave me the handy tech note that describes this too...
https://support.symantec.com/en_US/article.TECH217154.html
Which only served to illustrate my Google-Fu failed me today.... yet again.
The solution was of course to sprinkle an extra carriage return into my T-SQL. And Hey Presto, problem solved.