Welcome to Sign in | Help
in Search

deadlock - SQL Server 2005

Last post 01-12-2009, 4:39 PM by Alex. 28 replies.
Page 2 of 2 (29 items)   < Previous 1 2
Sort Posts: Previous Next
  •  01-07-2009, 4:26 PM 6494 in reply to 6491

    Re: deadlock - SQL Server 2005

    Alex:

    daca reusesc sa-mi dau seama cum fac rost de deadlock graph...da



    How to: Save Deadlock Graphs

    http://rusanu.com
  •  01-07-2009, 5:37 PM 6495 in reply to 6493

    Re: deadlock - SQL Server 2005

    da, apare in sys.dm_db_index_usage_stats

    /*

    CREATE FUNCTION INDEX_ID

    ( @table sysname,

    @index_name sysname )

    RETURNS int

    AS

    BEGIN

    DECLARE @indid int

    SELECT @indid = indid FROM sysindexes

    WHERE id = OBJECT_ID(@table) AND name = @index_name

    RETURN @indid

    END

    GO

    */

     

    SELECT dbo.INDEX_ID('tbl1', 'iStatusCode')

    select * from sys.dm_db_index_usage_stats where database_id = 5 and index_id = 9

    5 1410924198 9 0 1 0 0 NULL 2009-01-07 15:44:50.487 NULL NULL 0 0 0 0 NULL NULL NULL NULL

    multumesc.

    alex.

  •  01-07-2009, 5:47 PM 6496 in reply to 6495

    Re: deadlock - SQL Server 2005

    La Index properties am urmatoarele pe iStatusCode

    Page fullness 79%

    Total fragmentation 0%

    bifa pe: automaticaly recompute statistics

    use row locks when accesing the index

    use page locks when accesing the index

    use index

    fara bifa la: fill factor

    multumesc,

    alex.

     

  •  01-07-2009, 6:08 PM 6497 in reply to 6496

    Re: deadlock - SQL Server 2005

    cred ca asta e si cazul meu:

    http://www.sql-server-performance.com/articles/per/advanced_sql_locking_p1.aspx

    dar nu vad si solutia :)

    alex.

  •  01-07-2009, 6:39 PM 6498 in reply to 6495

    Re: deadlock - SQL Server 2005

    Alex:

    5 1410924198 9 0 1 0 0 NULL 2009-01-07 15:44:50.487 NULL NULL 0 0 0 0 NULL NULL NULL NULL



    OK, apare, dar apare cu 1 (unu) user scan de cind ai pornit serverul si atit. Si scan, nici macar nu e seek. Nu as zice ca se justifica existenta lui. Consider ca te-ai uitat in serverul live sub un load normal, desigur.


    http://rusanu.com
  •  01-07-2009, 6:39 PM 6499 in reply to 6496

    Re: deadlock - SQL Server 2005

    Alex:

    use row locks when accesing the index



    Asa si trebuie.

    http://rusanu.com
  •  01-07-2009, 6:53 PM 6500 in reply to 6497

    Re: deadlock - SQL Server 2005

    Alex:

    cred ca asta e si cazul meu:

    http://www.sql-server-performance.com/articles/per/advanced_sql_locking_p1.aspx

    dar nu vad si solutia :)

    alex.


    Deadlock graph-ul ne-ar ajuta, din nou.

    Si daca tot cautam resurse pe net, articolul din link e gresit si incorect.
    Andres Taylor:

    So, to fulfill this query, SQL Server will traverse the index on RegionId, locking index pages and index keys with update locks on the way.

    Nu se face lock pe pagini ci intent lock ceea ce e cu totul alta mincare de peste si intent lock-urile sint totdeauna compatibile intre ele, chiar si IU si IX. Pentru o explicatie corecta cauta in Transaction Processing: Concepts and Techniques , pg. 406.
    Deadlock din cauza mixari page-lock-urilor cu row-lock-uri se poate intimpla (si se intimpla frecvent) cind are loc lock-escalation, ori lock-escalation e provacat de scan-uri mari si in cazult tau scan-ul e provocat de structura tabelelor.

    Ai incerca sa modifici tabele sa fie clustered dupa StatusCode, MessageCode ?

    http://rusanu.com
  •  01-08-2009, 9:06 AM 6502 in reply to 6500

    Re: deadlock - SQL Server 2005

    da, am modificat am facut cheie cluster dupa StatusCode, MessageCode si am sters indexul noncluster de pe StatusCode

    acum dimineata o sa incerc sa testez si revin cu raspunsuri...

    multumesc.

    alex.

  •  01-08-2009, 10:41 AM 6507 in reply to 6500

    Re: deadlock - SQL Server 2005

    pana prind un blocaj ca sa iau deadlock graphul am atasat aici Execution Plan pt procedurile respective atat cu index pe StatusCode noncluster cat si cu index pe StatusCode,MessageCode cluster.....poate ajuta

    http://s4.transfer.ro/storage/transfer_ro-0473d45e99.zip

    multumesc

    alex.

  •  01-08-2009, 1:55 PM 6515 in reply to 6500

    Re: deadlock - SQL Server 2005

    am modificat indexul si se pare ca de vreo 2 ore nu am mai avut nici un blocaj....o sa urmaresc in continuare

    multumesc.

    alex.

    p.s. revin

  •  01-12-2009, 3:35 PM 6538 in reply to 6500

    Re: deadlock - SQL Server 2005

    am atasat aici mai multe deadlock graph-uri care par a folosi acelasi index iTableName

    ma poate ajuta cineva sa rezolv problema

    http://s4.transfer.ro/storage/deadlock_graph-68e72.rar

    asta e tabela respectiva

    CREATE TABLE [dbo].[SEQ_NUMBER_TABLE](

    [SeqNo] [int] NOT NULL,

    [TableName] [varchar](30) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL

    ) ON [PRIMARY]

    si asta e indexul

    CREATE UNIQUE NONCLUSTERED INDEX [iTableName] ON [dbo].[SEQ_NUMBER_TABLE]

    (

    [TableName] ASC

    )WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]

    are 153 de inregistrari si din ea se face doar select...e ca un nomenclator.

    multumesc.

    alex.

  •  01-12-2009, 3:54 PM 6539 in reply to 6538

    Re: deadlock - SQL Server 2005

    (nu am reusit sa prind deadlock-ul graph-ul pt asta)

    un alt deadlock care se intampla este cand ii dau

    select * from ELEMENTE_OUT where CodGrup=220018999

    si

    update #MESAJE_OUT

    set CodGrup=a.CodGrup,CodSesiune=a.

    CodSesiune,GrupData=a.Data,GrupSuma=a.Suma,GrupCodEroare=a.CodEroare,GrupEroare=a.Eroare,GrupDescriere = a.Descriere,ElementCodEroare=b.CodEroare,ElementEroare=b.Eroare from GRUPURI_OUT a, ELEMENTE_OUT b,#MESAJE_OUT c

    where a.CodGrup = b.CodGr

    up and b.CodMesajOut = c.CodMesajOut

    asta e tabela

    CREATE TABLE [dbo].[ELEMENTE_OUT](

    [CodGrup] [int] NOT NULL,

    [CodSucursala] [int] NOT NULL,

    [CodMesajOut] [int] NOT NULL,

    [CodEroare] [int] NOT NULL,

    [Eroare] [varchar](255) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL

    ) ON [PRIMARY]

    CREATE UNIQUE NONCLUSTERED INDEX [CodGrupCodSucursalaCodMesajOut] ON [dbo].[ELEMENTE_OUT]

    (

    [CodGrup] ASC,

    [CodSucursala] ASC,

    [CodMesajOut] ASC

    )WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY]

    multumesc.

    alex.

  •  01-12-2009, 4:35 PM 6540 in reply to 6538

    Re: deadlock - SQL Server 2005

    Este aceasi problema sau una noua, ca nu intzeleg.

    http://rusanu.com
  •  01-12-2009, 4:39 PM 6541 in reply to 6540

    Re: deadlock - SQL Server 2005

    e un deadlock nou, alte proceduri implicate

    posturile 6538 si 6539 sunt 2 probleme noi (2 deadlockuri diferite care se intampla)

    alex.

Page 2 of 2 (29 items)   < Previous 1 2
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems