Mange reads ved "SELECT TOP 1 transaction_id FROM sys.dm_tran_session_transactions
(MS-SQL 2014) I forbindelse ved fejlsøgning på en langsom løsning, falder vi i SQL Profileren over et kald der ofter sker flere gange i sekundet;
SELECT TOP 1 transaction_id FROM sys.dm_tran_session_transactions WHERE session_id = @@spid
Det kan vi se også sker hos vores andre kunder der bruger samme applikation, men der er antal Reads = 0, men ved kunden med performance problemer er antal Reads flere tusinde pr. kald.
Selve frekvensen for kaldene er stort set det samme for de forskellige implementeringer af applikationen. Jeg undrer mig bare over at på installationer med 100+ samtidige brugere, så kræves SQL serveren 0 reads for at besvare den. På en enkelt løsning med kun omkring 10 brugere, så bruger SQL 5000-10000 reads på forespørgslen. Det tager ikke nævneværdig tid, men jeg er bange for at det er et symptom på at der er et eller andet helt galt et eller andet sted.
Jeg undrede mig over hvorfor "kald der ofter sker flere gange i sekundet". Hvilket program sender disse?
Jeg undrer mig også over en TOP uden ORDER BY, men hvad ved jeg.
Med hensyn til antal reads, så udfra hvad jeg kan læse så indeholder den tabel åbne transaktioner.
Så hvis du laver:
SELECT * FROM sys.dm_tran_session_transactions
på både det berørte system og et andet system, så kan du se om der er mange flere uafsluttede transaktioner på det berørte system.
Hvis det er tilfældet så er systemet enten overbelastet eller der er en fejl som gør at transaktioner ikke blver afsluttet.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.