Welcome to Sign in | Help

Re: t-sql asyncron sql server 2005

  •  09-15-2009, 5:59 PM

    Re: t-sql asyncron sql server 2005

    Din procedura de executie. Vezi ca ea face exec sp_executesql intr-un bloc try-catch. Orice eroare prinsa acolo este inserata in table de rezultate. Daca tu ai o eroare de syntaxa (102) singurul loc unde aceasta eroare poate sa se intimple este in textul SQL care se executa cu sp_executesql. Daca eroarea de syntaxa ar fi oricunde altundeva, cu o erorare de syntaxa in usp_AsyncExeActivated procedura nici nu ar putea fi creata.

    Ca sa faci debugging-ul mai usor poti incerca urmatoarea varianta: desactiveaza Activation cu ALTER QUEUE ... WITH ACTIVATION (STATUS = OFF); In felul acesta cind trimiti un mesaj, doar ramine in queue si nu este procesat. Dupa ce apelezi procedura de invocare, poti rula 'manual' procedura activata (pur si simplu exec usp_AsyncExecActivated)  din Management Studio si poti face step-by-step execution ca sa te prinzi ce nu merge. Sau poti adauga PRINT-uri si sa vezi ce executi. Dar fii foarte atent sa le scoti toate PRINT-urile adaugate innainte de a re-activa activation. Pentru ca in contexul de Activation nu exista un 'client' connectat la care sa se trimita textul din PRINT atunci acesta este trimis in ERRORLOG si-tzi va umple errorlog-ul. Odata ce ai rezolvat problema, poti seta la loc Activation cu ALTER QUEUE [AsyncExecQueue] WITH ACTIVATION (STATUS = ON);

    http://rusanu.com
View Complete Thread
Powered by Community Server (Commercial Edition), by Telligent Systems