/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
SQL Server timer ud ?
Fra : Torben


Dato : 01-10-02 14:36

Hejsa gruppe,

jeg har en webside hvor brugeren kan opdatere et katalog. Men, tabellen er
ved at være rimelig stor (ca. 1 mio records) og jeg får nedenstående
Timeout - hvordan kan jeg indkredse fejlen ? Kan SQL-serveren monitorere
eller noget i den stil ?

På forhånd tak!
/Torben


Microsoft OLE DB Provider for ODBC Drivers error '80040e31'

[Microsoft][ODBC SQL Server Driver]Timeout expired

Update.asp, line 155




 
 
Thygesen (01-10-2002)
Kommentar
Fra : Thygesen


Dato : 01-10-02 14:41

> jeg har en webside hvor brugeren kan opdatere et katalog. Men, tabellen er
> ved at være rimelig stor (ca. 1 mio records) og jeg får nedenstående
> Timeout - hvordan kan jeg indkredse fejlen ? Kan SQL-serveren monitorere
> eller noget i den stil ?

Du kan prøve at indsætte følgende i toppen af din side:
Server.ScriptTimeout = 1800

Du kan selv vælg timeout tiden, du skal bare angive tiden i sekunder, nu har
jeg f.eks. sat tiden til 30 minutter.


Mvh. Christoffer Thygesen

e-mail: cht@cht.dk

= = = = = = = = = = = = = = = = = = = = = = = = = =
CHT Web - http://CHT.dk
Vi udvikler alt til din hjemmeside
= = = = = = = = = = = = = = = = = = = = = = = = = =



Peter Lykkegaard (01-10-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 01-10-02 14:50

Som svar på skriblerier nedfældet af Torben :

> Hejsa gruppe,
>
> jeg har en webside hvor brugeren kan opdatere et katalog. Men,
> tabellen er ved at være rimelig stor (ca. 1 mio records) og jeg får
> nedenstående Timeout - hvordan kan jeg indkredse fejlen ? Kan SQL-
> serveren monitorere eller noget i den stil ?
>
Profiler...
>
> Microsoft OLE DB Provider for ODBC Drivers error '80040e31'
> [Microsoft][ODBC SQL Server Driver]Timeout expired

Det ligner mere at det er din connection der timer ud
Prøv at ændre timeout værdierne

Er det når du opdaterer, indsætter eller selecter?
Hvad har du af indicies, trækker du kun relevante felter eller bruger du
asterisk (*)?

Hvsi det er MSSQL vis skal snakke videre om, så har jeg foreløbig sat
FollowUpThread til news:dk.edb.database
Dvs evt svar havner i omtalte gruppe

mvh/Peter Lykkegaard



N/A (01-10-2002)
Kommentar
Fra : N/A


Dato : 01-10-02 16:03



Peter Lykkegaard (01-10-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 01-10-02 16:03

Som svar på skriblerier nedfældet af Torben :

> "Peter Lykkegaard" <polonline@hot.mail.com> wrote in message
> news:LHhm9.49$Z12.1935@news.get2net.dk...
>>
>> Det ligner mere at det er din connection der timer ud
>> Prøv at ændre timeout værdierne
>>
Hvad står din timeout til i din Connection
Hvor lang tid går der før den timer ud

Kør profileren og fang din insert statement
Kør denne statement i Query Analyzeren, hvad siger den her?

>> Er det når du opdaterer, indsætter eller selecter?
>
> Det er i INSERTS
>
Hmm, hvor mange forsk indexes har du på tabellen du indsætter i
Har du et clustered index - kan være årsagen

>> Hvad har du af indicies, trækker du kun relevante felter eller
>> bruger du asterisk (*)?
>
> Jeg trækker kun relevante felter - men disse trækkes ud fra nogle
> Views med diverse joins.

Hvor meget arbejde er der på databasen når du indsætter
Hvad sker der hvis du indsætter uden brugere på systemet - hvis muligt

mvh/Peter Lykkegaard



Stig Johansen (01-10-2002)
Kommentar
Fra : Stig Johansen


Dato : 01-10-02 19:29

Hej.

"Peter Lykkegaard" <polonline@hot.mail.com> wrote in message
news:9Mim9.56$Z12.2269@news.get2net.dk...
> Som svar på skriblerier nedfældet af Torben :
>
> > "Peter Lykkegaard" <polonline@hot.mail.com> wrote in message
> > news:LHhm9.49$Z12.1935@news.get2net.dk...
> >>
> >> Det ligner mere at det er din connection der timer ud
> >> Prøv at ændre timeout værdierne
> >>
> Hvad står din timeout til i din Connection
> Hvor lang tid går der før den timer ud

Hvis der ikke er angivet noget, er default 30 sek.

>
> Kør profileren og fang din insert statement
> Kør denne statement i Query Analyzeren, hvad siger den her?

QA har ikke samme timeout som ADO.

--

Med venlig hilsen/Best regards
Stig Johansen
Stig.Johansen@udvikling.it.dk
(remove dot dk)






Peter Lykkegaard (01-10-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 01-10-02 20:07

Som svar på skriblerier forfattet af Stig Johansen

>> Kør profileren og fang din insert statement
>> Kør denne statement i Query Analyzeren, hvad siger den her?
>
> QA har ikke samme timeout som ADO.

Nej, men Torben har et problem med en insert statement
Han kan bruge QA til at se hvorfor problemet opstår
30 sek er immervæk lang tid for en insert

Jeg er dog ikke klar over om det er én eller flere inserts der bliver
foretaget

mvh/Peter Lykkegaard



Stig Johansen (02-10-2002)
Kommentar
Fra : Stig Johansen


Dato : 02-10-02 06:29

Hej.



"Peter Lykkegaard" <polonline@hotmail.com> wrote in message
news:ancrq5$6ng$1@sunsite.dk...
> Som svar på skriblerier forfattet af Stig Johansen
>
> >> Kør profileren og fang din insert statement
> >> Kør denne statement i Query Analyzeren, hvad siger den her?
> >
> > QA har ikke samme timeout som ADO.
>
> Nej, men Torben har et problem med en insert statement
> Han kan bruge QA til at se hvorfor problemet opstår
> 30 sek er immervæk lang tid for en insert
>
> Jeg er dog ikke klar over om det er én eller flere inserts der bliver
> foretaget
>

Det har du fuldstændig ret i, mon ikke det er en ordentlig insert into
select ..

--

Med venlig hilsen/Best regards
Stig Johansen
Stig.Johansen@udvikling.it.dk
(remove dot dk)




Torben (02-10-2002)
Kommentar
Fra : Torben


Dato : 02-10-02 12:45

Hej,

jeg har nu, ved hjælp af "SQL Profiler", fundet ud af hvad der gik galt.

1. Først eksekverer jeg en stored procedure
2. Resultaterne (fra ovenstående) benyttes i mine INSERTS - dvs. jeg laver
x-antal INSERTS i et loop.
3. Af én eller anden årsag låste min stored procedure for disse INSERTS. Jeg
tilføjede derfor "NOLOCK" til min
stored procedure
FROM TanelNavn with(NOLOCK) LEFT OUTER JOIN..........

Herefter kører det bare !!?!!

Men tak for hjælpen !
Torben



Stig Johansen (02-10-2002)
Kommentar
Fra : Stig Johansen


Dato : 02-10-02 18:01

Hej.

"Torben" <usenet_mail@yahoo.dk> wrote in message
news:3d9adc48$0$96747$edfadb0f@dspool01.news.tele.dk...
> Hej,
>
> jeg har nu, ved hjælp af "SQL Profiler", fundet ud af hvad der gik galt.
>
> 1. Først eksekverer jeg en stored procedure
> 2. Resultaterne (fra ovenstående) benyttes i mine INSERTS - dvs. jeg laver
> x-antal INSERTS i et loop.
Uden at vide hvad du laver, så hvis du laver et loop baseret på
declare cursor
while
....
osv..

så er det performancemæssigt noget absolut skrammel.

--

Med venlig hilsen/Best regards
Stig Johansen
Stig.Johansen@udvikling.it.dk
(remove dot dk)




Torben (02-10-2002)
Kommentar
Fra : Torben


Dato : 02-10-02 21:12


"Stig Johansen" <stig.johansen@udvikling.it> skrev i en meddelelse
news:anf8cb$5h9$1@sunsite.dk...
> Uden at vide hvad du laver, så hvis du laver et loop baseret på
> declare cursor
> while
> ...
> osv..
>
> så er det performancemæssigt noget absolut skrammel.

Ok, det kunne være rart hvis du kunne fortælle hvordan det så bør være ?

På forhånd tak!
Torben



Stig Johansen (03-10-2002)
Kommentar
Fra : Stig Johansen


Dato : 03-10-02 04:04

Hej.

"Torben" <usenet_mail@yahoo.dk> wrote in message
news:3d9b5337$0$18135$edfadb0f@dspool01.news.tele.dk...
>
> "Stig Johansen" <stig.johansen@udvikling.it> skrev i en meddelelse
> news:anf8cb$5h9$1@sunsite.dk...
> > Uden at vide hvad du laver, så hvis du laver et loop baseret på
> > declare cursor
> > while
> > ...
> > osv..
> >
> > så er det performancemæssigt noget absolut skrammel.
>
> Ok, det kunne være rart hvis du kunne fortælle hvordan det så bør være ?

Det var en overordnet betragtning.
Jeg vil ikke påstå , at din specifikke løsning kan gøres bedre, da jeg ikke
kender den.

Personligt ville jeg nok udtage det første resultatsæt clientside, og
derefter udføre inserts på baggrund af dette sæt.
På den måde undgår du:
* Aggresive locking scheme - det har du prøvet
* Ikke portabel SQL ..with(NOLOCK) - det har du nu
* 'Businesslogic ' i kode og DB (Stored procedure) - det har du nu,
besværliggør vedligeholdelse

--

Med venlig hilsen/Best regards
Stig Johansen
Stig.Johansen@udvikling.it.dk
(remove dot dk)




Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408837
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste