Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/07/2012, 02:49
ros0809
 
Fecha de Ingreso: julio-2011
Ubicación: Palma
Mensajes: 25
Antigüedad: 12 años, 9 meses
Puntos: 1
Se agota el tiempo de semáforo al hacer un select

Hola,
Resulta que al hacer consultas a una tabla, siempre me ha tardado demasiado en obtener los resultados.
He estado mirado con la sorpresa de que no existe ningún Primary Key en dicha tabla, luego he intentado hacer lo siguiente:

1.- Crear una triple Primary Key (puesto que serían 3 campos los que no se deben repetir), pero no me ha dejado debido a que contiene datos duplicados y que no deberían estara ahí.

2.- Al ver dicho problema, he comprobado que efectivamente existen duplicados
Código:
SELECT e.A_codi,e.TA_codi,e.M_codi, COUNT(*)
FROM E_MODALIDAD e 
GROUP BY e.A_codi,e.TA_codi,e.M_codi 
HAVING COUNT(*) > 1
3.- Intento hacer una select de los que no hay duplicados, pero el sql server me corta la conexión
Código:
SELECT e.A_codi,e.TA_codi,e.M_codi, COUNT(*)
FROM E_MODALIDAD e 
GROUP BY e.A_codi,e.TA_codi,e.M_codi 
HAVING COUNT(*) = 1
El mensaje que me muestra al cortarse la conexión es el siguiente:
Código:
Msg 121, Level 20, State 0, Line 0
Error en el nivel del transporte al recibir los resultados del servidor. (provider: Proveedor de TCP, error: 0 - Se agotó el tiempo de espera del semáforo.)
¿Alguién sabe por qué puede ser? Tarda menos de un minuto en cortar la conexión y aparecer dicho mensaje.

Lo que necesito es quedarme sin duplicados... pero no puedo recorrer la tabla completa, ¿cómo podría comprobar de que dicha tabla no esté corrupta? ¿se podría aumentar el tiempo de espera? ¿alguién ha tenido dicho problema anteriormente??

Muchas gracias de antemano,
Saludos