Sometime adding other string with comma add extra space between both, so use
FOR XML PATH('')), 1, 1, '')
вместо
FOR XML PATH('')), 1, 2, '')
, как показано ниже, и уберите пробел после запятой, например ','
SELECT DISTINCT UserID, ApplicationID, Roles =
STUFF((SELECT ',' + CAST(Roleid as Varchar)
FROM userroles b
WHERE b.UserID = a.UserID and a.ApplicationID = b.ApplicationID
FOR XML PATH('')), 1, 1, '')
FROM userroles a
GROUP BY UserID, ApplicationID, Roleid