Select * into EquipmentDataLog_backup from dbo.EquipmentDataLog -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here WITH TempUsers (EquipmentId,EquipmentMasterParameterId,LogDateTime,duplicateRecordCount) AS ( SELECT EquipmentId,EquipmentMasterParameterId,LogDateTime,ROW_NUMBER() OVER(PARTITION BY EquipmentId,EquipmentMasterParameterId,LogDateTime ORDER BY EquipmentMasterParameterId,EquipmentDatalogid asc) AS duplicateRecordCount FROM dbo.EquipmentDataLog --order by duplicateRecordCount desc ) DELETE FROM TempUsers WHERE duplicateRecordCount > 1