SQL Server Performance

SQL Server 200 y VB 6.0

Discussion in 'Preguntas sobre SQL Server en Español.' started by Jhosang, Apr 18, 2007.

  1. Jhosang New Member

    Hola Amigos,
    Tengo un Consulta en SQL Server 2000 , que demora 1 seg en ejecutarse desde el query analizer, pero al tratar de ejecutarse desde el Visual Basic a traves de un ADODB.RecordSet me sale "error en tiemo de Espera". No so todas las veces, hay momentos que si consulta a la BD, se demora y recupera la informacion pero se esta haciendo mas seguido el Error

    He probado con
    rs.open sql, con (Inclusive poniendo las opciones de cursorlocation, locktype, etc.)

    o asignado directamente el resultado de un objeto conexion, es decir
    set rs = con.execute(sql)

    pero sigue en el mismo problema

    Lo que no entiendo y recurro a ustedes es el porque de este error si el query no demora nada en ejecutarse.

    Saludos, y espero que me puedan ayudar.
  2. Luis Martin Moderator

    La conección con la base es a través de TCP/IP?



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



  3. Jhosang New Member

    Asi es amigo la conexion es a traves de TCP/IP
    Es mas, las pruebas las realizo desde mi PC con el ANalizador de Consultas del SQL SERVER 2000, la ejecucion del query o de forma mas especifica la ejecucion del procedimiento almacenado es rapida, el conjunto de registros aparecen inmediatamente, pero al ejecutarse desdel el REcordset sucede lo que explico lineas arriba, es lento e inclusive muchas veces sale error en tiempo de espera....y no encuentro alguna solucion.

    Gracias por tu interes
  4. Luis Martin Moderator

    Es difícil de analizar.

    No hay nada más rápido que el analizador de consultas en el momento de ejecutar un query, ya que la conexión es directa.
    El mismo query ejecutado desde un programa cualquiera naturalmente tarda más. Posiblemente a veces el SQL server tiene que recompilar la consulta, a veces se encuentra en memoria y no es necesario. De allí que a veces te tarda más y a veces menos.

    Debería ejecutar el Profiler y buscar, cuando tarda mucho, si no hay algún bloqueo que impida que se ejecute más rápido.



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



  5. Jhosang New Member

    La ejecucion del query se realiza a traves de un Procedimiento Almacenado, donde el store se encuentra compilado y la consulta optimizada. Lo que hago es ejecutar el Store desde el Analizador de Consultas que demora menos de 1 segundo, pero cuando lo ejecuto desde el recordset demora mucho, pero mucho mas, inclusive sobrepasa el timeout de la conexion y arroja error en tiempo de espera. Definitavemnte algo esta mal y no se que es ?.
    salu2
  6. Luis Martin Moderator

    Me parece que lo tienes que conversar con alguin de VB, ya que obviamente el problema no está desde el lado del SQL Server.
    Esto queda probado con la prueba que realizas con el Analizador de consultas.

    Entonces, el problema está en la conexión o en algo del VB6.


    Luis Martin
    Moderator
    SQL-Server-Performance.com

    All in Love is Fair
    Stevie Wonder


    All postings are provided “AS IS” with no warranties for accuracy.



Share This Page