La Web del Programador: Comunidad de Programadores
 
    Pregunta:  64287 - PROCESOS CALGADOS EN EL SQLSERVER AL EJECUTAR UN SP DESDE PB
Autor:  Oscar Castillo
Primero que nada gracias a las personas que toman el tiempo de leer mi duda, la intencion es lo que cuenta, mi duda es la siguiente, tengo una aplicacion hecha en PB 7 que se conecta a la BD hecha en SQL server 2005, esta aplicacion genera 2 archivos de texto utlizando la herramienta BCP del SQL server, los genero por medio de un SP que mando llamar desde mi aplicacion, cuando ejecuto el SP desde manager del SQL tarda algo de tiempo pero genera los archivos, el problema viene cuando ejecuto el SP desde mi aplicacion de PB, ya que la aplicacion se queda trabada y para colmo me cuelga el proceso en el servidor trabando todo mi SQL, e estado investigando pero no encuentro nada en concreto que me pueda ayudar, no se si me haga falta alguna actualizacion o algun parche para el PB, o tenga que habilitar alguna opcion en el PB o en el SQL para la ejecucion del SP, les agradeceria mucho si alguien me pudiera ayudar o dar alguna pista!, muchas gracias!

  Respuesta:  Eduardo Fernandez
Existen 2 formas de solucionar este problema, la primera es cambiando el metodo de conección de powerbuilder (ReadCommited, readuncommited), esto implica recompilar toda la aplicacion.

La segunda es que utilizes el NOLOCK en tus sentencias de SQL

Por ejemplo, si dice select * from tabla , deberías colocarlo select * from tabla with (nolock),

de esta forma no dejas que el servidor se bloquee.

Utiliza NOLOCK para los select, ROWLOCK para los update y delete

- Select * from tabla with (nolock)
- UPDATE tabla with (nolock) SET valor = 1
- DELETE FROM tabla with (rowlock) WHERE...