SQL Server Performance

Como soluciono los siguientes errores

Discussion in 'Preguntas sobre SQL Server en Español.' started by camaro, Feb 1, 2005.

  1. camaro New Member

    Saludos.

    Estoy iniciando mis pininos en SQL SERVER 2000 y me encuentro con los siguientes errores y no se como solucionarlos.

    Error: 3903, Severity: 16, State: 1

    Error: 208, Severity: 16, State: 0

    Los errores me los manda cuando ejecuto el siguiente comando desde una página web

    sql = "msdb.dbo.sp_update_jobschedule @job_name = 'AutomatizacionSICA', @name = 'AutomatizacionSICA', @freq_interval = 220000

    El servicio siempre esta levantado
    Me conecto con el usuario SA
    Puedo ejecutar el comando desde SQL sin ningún problema, pero desde la aplicación no corre
    Hice la prueba desde el calendarizador de SQL Manager y corre el proceso sin ningún problema.

    Aque se deben los errores y como puedo solucionarlos.






  2. Luis Martin Moderator

    El error 208 ocurre cuando se referencia a un objeto el cual no existe o es necesario incluír toda la información que lo identifica.

    En tu caso, te sugiero probar con: servername.msdb.dbo.sp_...........

    Por otro lado el error 3903 dice que un ROLLBACK no se corresponde con ningún BEGIN TRASACTION.

    Por tus datos me parece que el problema está en el 208.

    Luis Martin
    Moderator
    SQL-Server-Performance.com

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important
    Bertrand Russell


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



  3. camaro New Member

    Saludos Martín

    Hice lo que me comentaste y este fue el resultado

    El error 208 se soluciono.
    El error 3903 persiste y al parecer es el que no me deja concluir satisfactoriamente el proceso.

    En donde puedo verificar las trandaccion echas en los ultimos 3 días.
    En donde puedo verificar las tablas temporales actuales
  4. Luis Martin Moderator

    Execpto que tengas algún producto de terceras partes, no hay forma de verificar las transacciones de los últimos 3 días.
    Las tablas temporales se crean en la base Tempdb, y podrás verlas en el momento de creación, por ejemplo por una store procedure, pero al finalizar la misma, son borradas.

    Trata de utilizar el Profiler para ver que ocurre en la tempdb.



    Luis Martin
    Moderator
    SQL-Server-Performance.com

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important
    Bertrand Russell


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



  5. camaro New Member

    Saludos Luis Martín

    Me puse a revisar todo el codigo y encontre un Begin transaccion y un end transaccion.
    Comente las dos lineas y se elimino el error y pudo concluir el proceso, pero me surgio una duda.

    Si pongo el siguiente codigo

    begin transaction
    sql = "msdb.dbo.sp_update_jobschedule @job_name = 'AutomatizacionSICA', @name = 'AutomatizacionSICA', @freq_interval = 220000
    exec sql
    commit transaction


    y lo ejecuto, por que no hace un roolback sql server

    Si comento el manejo de transacciones, lo hace sin ningun problema.

    sql = "msdb.dbo.sp_update_jobschedule @job_name = 'AutomatizacionSICA', @name = 'AutomatizacionSICA', @freq_interval = 220000

    A que se debe el error.

  6. Luis Martin Moderator

    Probá lo siquiente:

    DECLARE @bErrors as bit

    BEGIN TRANSACTION
    SET @bErrors = 0

    Aquí tu instrucción


    IF( @bErrors = 0 )
    COMMIT TRANSACTION
    ELSE
    ROLLBACK TRANSACTION

    Luis Martin
    Moderator
    SQL-Server-Performance.com

    One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important
    Bertrand Russell


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



  7. asaavedra New Member

    Hola

    El primer error que te sale es por que el sistema quiere deshacer la transacción (Por algún motivo no es correcto), sin embargo no encuentra su correspodiente inicio de transaccion (Begin tansaction). La causa es que te has conectado con la opción de usar transacciones implicitas en tu aplicacion web, sin embargo en el SQL esta como no(SET IMPLICIT_TRANSACTIONS off ). Lo que debes hacer es a traves de tu objeto conexion usar la funcion .BeginTransactio()

    El segundo es por que no encuentra un objeto. Derepente si solucionas el primero, ya el segundo error no te da.

    Saludos,
    Adolfo


    quote:Originally posted by camaro

    Saludos.

    Estoy iniciando mis pininos en SQL SERVER 2000 y me encuentro con los siguientes errores y no se como solucionarlos.

    Error: 3903, Severity: 16, State: 1

    Error: 208, Severity: 16, State: 0

    Los errores me los manda cuando ejecuto el siguiente comando desde una página web

    sql = "msdb.dbo.sp_update_jobschedule @job_name = 'AutomatizacionSICA', @name = 'AutomatizacionSICA', @freq_interval = 220000

    El servicio siempre esta levantado
    Me conecto con el usuario SA
    Puedo ejecutar el comando desde SQL sin ningún problema, pero desde la aplicación no corre
    Hice la prueba desde el calendarizador de SQL Manager y corre el proceso sin ningún problema.

    Aque se deben los errores y como puedo solucionarlos.







Share This Page