Welcome to Sign in | Join | Help
in Search

Blocaje

Last post 11-08-2008, 2:14 by step. 28 replies.
Page 1 of 2 (29 items)   1 2 Next >
Sort Posts: Previous Next
  •  10-27-2008, 6:15 5945

    Blocaje

    Salutare,

    De cam 2 saptamani , am niste probleme pe server -blocaje

    Am o aplicatie -ADP-in care nu s-a mai umblat de ceva timp ( de 1 an si jumatate nu s-a mai modificat atat pe client si pe partea de server).
    Si nu a facut nici o problema.
    De vreo 3 luni s-a trecut de la MS SQL 2000 la MSSQL 2005 .Au fost mici probleme -s-au rezolvat .

    In urma cu 2 saptamani au inceput problemele cu blocaje ,tranzactie ...

    Este posibil sa se fi modificat vreo setare de server?

    S
  •  10-27-2008, 6:21 5948 in reply to 5945

    Re: Blocaje

    apropo de migrarea de la 2000 la 2005 vezi ca la restart servicii si backup - restore ti se corupe setarea de autogrow daca nu ai SP2
    G.
  •  10-27-2008, 9:01 5950 in reply to 5945

    Re: Blocaje

    Poti descrie mai detaliat problemele cu care te confrunti?

  •  10-27-2008, 9:22 5951 in reply to 5950

    Re: Blocaje

    Procese care stau in tranzactie si se blocheaza reciproc.

    problemele astea nu le aveam - este acelasi client si pe partea de proceduri stocate ,view uri nu s-a modificat

    Sa fi avut initial un timeout si acum sa nu mai fie timeout (sa fie 0) ?
  •  10-27-2008, 10:14 5952 in reply to 5951

    Re: Blocaje

    Nu sunt sigura ca ti se trage de la trecerea la SQL 2005.

    Vezi ce procese se blocheaza reciproc - cel mai simplu este sa te uiti in "activity monitor" - si de aici ce portiuni de cod au probleme. Poate te ajuta si:
    http://www.mssqltips.com/tip.asp?tip=1359

    http://www.mssqltips.com/tip.asp?tip=1036

  •  10-28-2008, 11:53 5953 in reply to 5952

    Re: Blocaje

    E posibil -sa blocheze din cauza SQL Server Management Studio ?

    De ce zic:
    eu lucrez pe vpn -si am intrat sa fac o modificare la o functie ( sa mai adaug o conditie) - si mi-a luat vreo 20-30 secunde sa o salvez.
    Mai tarziu am aflat ca aproximativ atunci (cand am salvat noua versiune de functie) -s-a blocat ....
    S
  •  10-28-2008, 4:04 5954 in reply to 5953

    Re: Blocaje

    step:
    E posibil -sa blocheze din cauza SQL Server Management Studio ? De ce zic: eu lucrez pe vpn -si am intrat sa fac o modificare la o functie ( sa mai adaug o conditie) - si mi-a luat vreo 20-30 secunde sa o salvez. Mai tarziu am aflat ca aproximativ atunci (cand am salvat noua versiune de functie) -s-a blocat .... S

    Poti da exemplu de cod care se blocheaza ? Sigur trebuie sa stii... iti spune user=ul unde sta ... si sta ... si sta ... si e ales ca victima...

    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  10-28-2008, 4:25 5955 in reply to 5953

    Re: Blocaje

    step:
    E posibil -sa blocheze din cauza SQL Server Management Studio ? De ce zic: eu lucrez pe vpn -si am intrat sa fac o modificare la o functie ( sa mai adaug o conditie) - si mi-a luat vreo 20-30 secunde sa o salvez. Mai tarziu am aflat ca aproximativ atunci (cand am salvat noua versiune de functie) -s-a blocat .... S

    Este singura situatie de acest gen pe care ai intalnit-o? Cum spune si Andrei, da niste exemple...

  •  10-28-2008, 6:38 5956 in reply to 5955

    Re: Blocaje

    situatia 1:
    era un view (select), o procedura stocata ( select )
    si mai era o procedura stocata care facea insert si care avea begin tran ...

    pe server primele doua nu era un tranzactie , in client -nu aveam tranzactie (cel putin in ultimele versiuni ale mele)

    toate cele 3 procese erau pe server in blocaj
    si cand a eliminat primele doua -s-a deblocat si al 3 proces

    situatia 2;
    o procedura de insert - a mers ok
    urmata de o salvarea a mea a unei functii
    si din nou acceasi procedura de insert care a dat blocaj - si ma intreaba ce am facut de am generat blocajul.

    Problema ca nu am eu serverul sub control -doar pun obiectele, si pot sa verific pas cu pas toate chestile.

    Ma gandeam ,ca toate problemele au aparut deodata (in conditiile in care si clientul si obiectele de pe server - neschimbate)- ca poate fi o setare ,un upgrade ,un sp...


  •  10-28-2008, 8:20 5958 in reply to 5956

    Re: Blocaje

    Pare ca trebuie sa recreezi situatiile in cauza si sa verifici codul - de exemplu ordinea de accesare a resurselor. In primul caz poti incerca SELECT-uri WITH (NOLOCK). Bineinteles ca e bine sa cantaresti foloasele si riscurile, sa consulti BOL inainte, etc, etc...

     

  •  10-28-2008, 9:46 5959 in reply to 5958

    Re: Blocaje

    Da, am inceput sa pun - with (nolock) -
    pe la selecturile mai putin "critice"
    S
  •  10-28-2008, 10:23 5960 in reply to 5959

    Re: Blocaje

    Vezi daca "dirty reads" intr-adevar te ajuta. Cu alte cuvinte, sa nu nimeresti "din lac in putz"...Smile

  •  10-29-2008, 5:28 5961 in reply to 5956

    Re: Blocaje

    step:
    situatia 1: era un view (select), o procedura stocata ( select ) si mai era o procedura stocata care facea insert si care avea begin tran ... pe server primele doua nu era un tranzactie , in client -nu aveam tranzactie (cel putin in ultimele versiuni ale mele) toate cele 3 procese erau pe server in blocaj si cand a eliminat primele doua -s-a deblocat si al 3 proces
    [...]. Ma gandeam ,ca toate problemele au aparut deodata (in conditiile in care si clientul si obiectele de pe server - neschimbate)- ca poate fi o setare ,un upgrade ,un sp...

    Eu ma gindeam ca problema 1 poate aparea din cauza faptului ca ai inceput sa ai mai multe date + mai multi clienti ...
    Cum arata view si SP ? Fac databinding pe aplicatie? Citi clienti acceseaza simultan BD ( par sa fie cel putin 3, din cite spui...)

    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  10-29-2008, 8:56 5962 in reply to 5961

    Re: Blocaje

    procedura stocata
    SELECT dbo.Detalii.ProdusID, SUM(dbo.Detalii.Cantit) AS cantitE, dbo.BC.Predator
    FROM dbo.BC INNER JOIN
    dbo.Detalii ON dbo.BC.ID = dbo.Detalii.ID INNER JOIN
    dbo.NirD ON dbo.Detalii.ReceptieID = dbo.NirD.ID
    INNER JOIN dbo.NIR ON dbo.NirD.NirID = dbo.NIR.nirID
    WHERE (dbo.BC.AnulatDe IS NULL)
    GROUP BY dbo.Detalii.ProdusID, dbo.BC.Predator, dbo.NirD.NirID
    HAVING (dbo.Detalii.ProdusID = @produsID) AND (dbo.BC.Predator = @Predator) AND (dbo.NirD.NirID = @id)


    view ul
    SELECT SUM(dbo.Detalii.Cantit) AS Cantit, dbo.Detalii.ProdusID, dbo.Detalii.SarjaID, dbo.BC.ID, 0 AS Modif
    FROM dbo.Detalii INNER JOIN
    dbo.BC ON dbo.BC.ID = dbo.Detalii.ID
    GROUP BY dbo.Detalii.ProdusID, dbo.Detalii.SarjaID, dbo.BC.ID
  •  10-29-2008, 9:30 5963 in reply to 5956

    Re: Blocaje

    step:
    pe server primele doua nu era un tranzactie , in client -nu aveam tranzactie (cel putin in ultimele versiuni ale mele)

    Trebuie sa atrag atentia ca o tranzactie exista intotdeauna. Daca tu nu ai declarat o tranzactie explicita, o tranzactie implicita va fi creata pentru fiecare instructiune care acceseaza date si va fi comisa la terminarea instructiunii.

    http://rusanu.com
Page 1 of 2 (29 items)   1 2 Next >
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems