Cóż, to jeden z powodów, dla których powinieneś mieć klucz podstawowy na stole. Jaka wersja SQL Server? Dla SQL Server 2005 i nowszych:
;WITH r AS
(
SELECT col1, col2, col3, -- whatever columns make a "unique" row
rn = ROW_NUMBER() OVER (PARTITION BY col1, col2, col3 ORDER BY col1)
FROM dbo.SomeTable
)
DELETE r WHERE rn > 1;
Następnie nie musisz robić tego ponownie jutro, a następnego dnia i pojutrze zadeklaruj klucz podstawowy na stole.