none
Ejecucion de procedimiento almacenado tarda mucho desde la aplicacion vb.net RRS feed

  • Pregunta

  • Muy buenos días.

    Estoy completamente desesperado. ya que tengo un problema, pues tengo un procedimiento almacenado. el cual me da como salida una tabla de 5 columnas aproximadamente 2 renglones por la tabla.

    He realizado una aplicacion en VB.NET la cual ejecuta dicho procedimiento para obtener los datos. Cuando ejecuto la consulta desde el Microsft SQL Server Management Studio el procedimiento se ejecuta exitosa mente y rápidamente. su tiempo de ejecución aproximada es de 00:00:01. milisegundos. El problema es que cuando ejecuto el procedimiento mediante el siguiente código su tiempo de respuesta es de como 10 o 20 minutos.

                Dim cmd As New SqlClient.SqlCommand
                Try
                    Con.Open()
                    Dim adaptador As New SqlDataAdapter
                    cmd.CommandType = CommandType.StoredProcedure
                    cmd.CommandText = "SPCliente"
                    cmd.CommandTimeout = 0
                    With cmd.Parameters
                        .Clear()
                        .Add("cte", SqlDbType.VarChar, 10).Value="123"
                    End With
                    cmd.Connection = Con
                    adaptador.SelectCommand = cmd
                    Dim ds As New DataSet
                    adaptador.Fill(ds)  ' Aqui es donde tarda en ejecutar.
                Catch ex As Exception
                    MsgBox("Error: " & ex.Message)
                Finally
                    Con.Close()
                End Try

    He notado que la lectura de disco duro en mi servidor está al 100%. Quisiera saber cual es la diferencia entre ejecutarlo en el Management Studio y desde mi aplicacion Vb.Net. sospecho que mi tiempo de respuesta hacia la aplicación es lenta por la lectura de disco duro que tiene el servidor. Pero por que? que puedo hacer para conocer que proceso está realizando tal lectura en tal magnitud?

    Os adjunto algunas imágenes. También quiciera saber que significa PAGEIOLATCH_SH  y como puedo solucionarlo? ya que el estatus de mi consulta en el servidor de base de datos esta suspendida.

    de antemano agradezco mucho su cooperación en mi problema.

    Gracias.

    • Cambiado Enrique M. Montejo martes, 4 de septiembre de 2012 16:59 acceso a datos (De:Lenguaje VB.NET)
    jueves, 9 de agosto de 2012 18:10

Todas las respuestas