none
AYUDA - Mismo query tiene resultados diferentes RRS feed

  • Pregunta

  • Buenas, acudo a la ayuda del foro porque no se como encarar la busquedas en internet sobre mi problema.

    Estaba usando la herramienta que viene con VS 2012 "Explorador de Objetos de SQL Server" conectandome a una SQL Server 2005, me molestaba que se freezara constantemente (sucedia cuando se desplegaba el intellisense que aporta esta herramienta a pesar de la falta de el en el SQL 2005).

    A causa de esta demora decidí llevarme el script al SSMS 2012 para trabajar comodamente (a pesar de perder el intellisece). Aquí me sorprendo cuando noto que al hacer click en New Query y usar el codigo en esta query (select * from tabla) me devuelve 2 filas de las 6 que existen en la tabla.

    Si uso botón derecho sobre la tabla en cuestión y elijo "Select top 1000 Rows" me abre una nueva query donde me trae los 6 registros que existen en la tabla. Pero la primera ventana de query me sigue devolviendo 2, a pesar de copiar el mismo select top.

    He probado desinstalar y volver a instalar el SSMS con el SP 1 pero sigo con el mismo problema.

    No soy experto en SQL Server y no se por donde encarar esta cuestión.

    Saludos,

    Jonatan.

    viernes, 7 de marzo de 2014 15:12

Respuestas

Todas las respuestas

  • Hola:

    Nos ayudaría si nos regalaras los querys, el script de tu tabla y de los datos para poder ofrecerte una respuesta más concreta.

    SALUDOS !


    Sergio Sánchez Arias
    Oaxaca,México
    AYÚDANOS A AYUDARTE

    viernes, 7 de marzo de 2014 17:12
  • Es muy sencillo el script, y no está en el script el problema.

    select * from TipoMensaje 

    Ejecuto esto desde VS 2012 y obtengo este resultado:

    intId_TipoMensaje strNombre_TipoMensaje
    1 WAP-SMS-PRODUCTO-CANJE-EXITOSO
    2 WAP-SMS-PRODUCTO-CANJE-REINTENTO
    3 WEB-SMS-PRODUCTO-CANJE-EXITOSO
    4 WEB-SMS-PRODUCTO-CANJE-REINTENTO
    5 WEB-SMS-DESCARGA-REINTENTO
    6 WAP-HOME-RECOBRO-FALLIDO

    Usando el SSMS que viene con Sql Server 2012 (más el service pack 1) obtengo solamente los 2 primeros registros.

    Pero desde el SSMS, con la nueva ventana que genera un script automático (la que se crea desde el menú despegable sobre la tabla en cuestión y la opcion selecto top 1000 rows) me trae perfectamente los 6 registros.

    viernes, 7 de marzo de 2014 18:40
  • Hola.

    Parece claro que existe algo ahí que impide realizar "la misma consulta" desde ambos puntos. Pon una traza de profiler y podrás confirmarlo. 


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    domingo, 16 de marzo de 2014 8:41
    Moderador
  • Intenté hacerlo pero mi usuario no tiene los permisos para ejecutar la traza.

    Revisé todas las opciones de Herramientas/Opciones > Ejecucion de consultas. Pero no encontré que opción podria estar incidiendo.

    Usando el SQLCMD me devuelve correctamente los resultados:

    1> use portalmanagerclub
    2> select * from tipomensaje
    3> go
    Changed database context to 'PortalManagerClub'.
    intId_TipoMensaje strNombre_TipoMensaje

    ----------------- ----------------------------------
                    1 WAP-SMS-PRODUCTO-CANJE-EXITOSO
                    2 WAP-SMS-PRODUCTO-CANJE-REINTENTO
                    3 WEB-SMS-PRODUCTO-CANJE-EXITOSO
                    4 WEB-SMS-PRODUCTO-CANJE-REINTENTO
                    5 WEB-SMS-DESCARGA-REINTENTO
                    6 WAP-HOME-RECOBRO-FALLIDO

    (6 filas afectadas)

    Alguna otra idea/alternativa para identificar la causa o mejor aun como resolver el problema.

    martes, 1 de abril de 2014 14:33
  • Puedes provar con un count(*) y poniendo los nombres de los campos?.
    martes, 1 de abril de 2014 20:28
  • Hola.

    Estás consultando cosas diferentes en cada sitio. Puede que se trate de otra base de datos o hasta de otra instancia. También es posible que tengas algún tipo de limitación en alguna de las dos herramientas para recuperar un determinado número de registros (algo que descubrirías con el count que te sugería Enrique).

    Sobre cómo descubrirlo, revisa las conexiones en cada aplicación para asegurarte que son las mismas.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    miércoles, 16 de abril de 2014 15:59
    Moderador