|
| 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)
| |
|
|