This little SQL is a sweet little piece of code I found somewhere in my travels. It will find duplicate rows of data based on a keyset, however, this only works in Oracle. I will try to find a similar piece for SQL Server, but for now here we go:
select * from table_name
where rowid in (select min(rowid) from table_name group by key_values having count(*) > 1);
delete from table_name where rowid in (select min(rowid) from table_name group by key_values having count(*) > 1);