administradores de bases de datos sabe que se producen errores ocasionales , y los registros duplicados se insertan en la base de datos . El tema es un problema común para los administradores de solucionar , pero la eliminación de registros de un servidor SQL es una situación delicada . El administrador tiene la tarea de eliminación de registros sin eliminar accidentalmente cualquier otro dato , que pueden ocurrir fácilmente si la consulta no está construido correctamente. Aprenda cómo eliminar registros duplicados en SQL , preservando los registros originales . Cosas que necesitará
Microsoft SQL Server ( 2005 o 2008 )
Ver Más instrucciones
1
Abra el Administrador corporativo de SQL Server. Tiene que ejecutar consultas para buscar contenido duplicado. Esto también le dará una idea de la cantidad de registros que ser eliminado. Las grandes preguntas pueden requerir que usted traiga el servidor SQL para el mantenimiento
2
Escriba en la consola: . Select count (* ) de TheTableandselect distinto * de comando TheTableThe primera le indica el número de registros totales que tiene en la mesa, y el segundo comando le indica cuántos duplicados que tengas. Sin embargo, el segundo comando se supone que los registros son totalmente iguales , es decir, cualquier pequeña variación no será incluido en la tabla duplicada .
3
Copiar registros en una tabla separada. Las siguientes copias de comandos sólo los registros que son distintos y deja fuera cualquier duplicates.select distinta * a TempTablefrom thetable
4
Eliminar duplicados. La siguiente consulta elimina los duplicados de la tabla original , pero conserva 1 copia del registro original . La columna " uniqueField " es la clave principal o un conjunto índice único en la tabla original. La columna " dupField " es el campo que está decidido a ser un disparador para el duplicado. Por ejemplo , si tiene una tabla de clientes con duplicados , es posible determinar que más de 1 registro con el mismo número de Seguro Social es un duplicado de field.delete TheTablewhere uniqueField no en (select min ( uniqueField ) de TempTable T2where T2.dupField = MyTable.dupField )
5
Compruebe los resultados. Ejecutar las mismas consultas del Paso 1 . La cuenta total de la tabla original debe ser la diferencia entre el número contado antes de la consulta de eliminación y el número borrado de la tabla . Además, se ejecuta la consulta distinta debe tener el mismo número que la primera consulta.