Verwenden einer ROW_NUMBER in einem CTE ermöglicht es Ihnen, doppelte Werte zu löschen, während eindeutige Zeilen beibehalten werden.
WITH q AS (
SELECT RN = ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID )
, ID
, Name
FROM ATable
)
DELETE FROM q WHERE RN > 1