Using CTE functionality from SQL Server 2005, you can delete Duplicate records as follows
(PS. I cannot see the design, so this is an approach.)
DECLARE @Table TABLE(
ID INT,
FK INT,
VName VARCHAR(50)
)
INSERT INTO @Table (ID,FK,VName) SELECT 1, 1, 'A'
INSERT INTO @Table (ID,FK,VName) SELECT 2, 1, 'A'
INSERT INTO @Table (ID,FK,VName) SELECT 3, 1, 'A'
INSERT INTO @Table (ID,FK,VName) SELECT 4, 2, 'B'
INSERT INTO @Table (ID,FK,VName) SELECT 5, 2, 'B'
INSERT INTO @Table (ID,FK,VName) SELECT 6, 2, 'B'
;WITH CTE AS (
SELECT *,
ROW_NUMBER() OVER (PARTITION BY FK ORDER BY ID) RowNumber
FROM @Table
)
DELETE FROM CTE WHERE RowNumber > 1
SELECT * FROM @Table