Si vous voulez pourrir vos données, c'est en effet un excellent moyen que d'utiliser la lecture sale (ou lecture impropre ou dirty
read) en imposant que le serveur s'affranchisse de tout verrou.
Si vous vouliez me faire peur ou avoir mauvaise conscience c'est réussi ; )
Avant toute chose, prenez du recul, réfléchissez, documentez-vous, formez-vous afin de ne pas prendre un remède qui s'avérera pire
que le mal.
Oui, j'ai vu que je devais aller plus loin. Jusqu'à présent je n'ai encore jamais
rencontré ces problèmes et je me demande encore comment dans la mesure
où je ne fais rien de 'nouveau'. Rien qu'entre hier et aujourd'hui j'en ai appris
des trucs que j'étais censé savoir ; )Mon site SQLpro, comme mes bouquins, peuvent vous y aider.
http://sqlpro.developpez.com
Oui, j'ai presque lu tous vos articles, il ne faut pas se voiler la face, presque
toutes les recherches pointent sur votre site depuis des années pour tout ce qui
touche à SQL en français, il faut le vouloir pour rater vos pages!
Par contre, je n'ai pas encore craqué pour les livres. Peut être simplement parce
que je n'ai jamais eu le besoin.
Je vais y refaire un tour, depuis le temps...Si vous êtes dans le cadre d'une entreprise, une bonne formation sur ces concepts est sans doute nécessaire et peut être prise en
charge par les fonds mutualisés (FAFIEC, Agefoss....). Je ne sais pas si c'est valable pour la suisse .... !
100% auto-formation , et oui, je suis en suisse et dans une PME du genre microPME
; )
Encore merci!
Si vous voulez pourrir vos données, c'est en effet un excellent moyen que d'utiliser la lecture sale (ou lecture impropre ou dirty
read) en imposant que le serveur s'affranchisse de tout verrou.
Si vous vouliez me faire peur ou avoir mauvaise conscience c'est réussi ; )
Avant toute chose, prenez du recul, réfléchissez, documentez-vous, formez-vous afin de ne pas prendre un remède qui s'avérera pire
que le mal.
Oui, j'ai vu que je devais aller plus loin. Jusqu'à présent je n'ai encore jamais
rencontré ces problèmes et je me demande encore comment dans la mesure
où je ne fais rien de 'nouveau'. Rien qu'entre hier et aujourd'hui j'en ai appris
des trucs que j'étais censé savoir ; )
Mon site SQLpro, comme mes bouquins, peuvent vous y aider.
http://sqlpro.developpez.com
Oui, j'ai presque lu tous vos articles, il ne faut pas se voiler la face, presque
toutes les recherches pointent sur votre site depuis des années pour tout ce qui
touche à SQL en français, il faut le vouloir pour rater vos pages!
Par contre, je n'ai pas encore craqué pour les livres. Peut être simplement parce
que je n'ai jamais eu le besoin.
Je vais y refaire un tour, depuis le temps...
Si vous êtes dans le cadre d'une entreprise, une bonne formation sur ces concepts est sans doute nécessaire et peut être prise en
charge par les fonds mutualisés (FAFIEC, Agefoss....). Je ne sais pas si c'est valable pour la suisse .... !
100% auto-formation , et oui, je suis en suisse et dans une PME du genre microPME
; )
Encore merci!
Si vous voulez pourrir vos données, c'est en effet un excellent moyen que d'utiliser la lecture sale (ou lecture impropre ou dirty
read) en imposant que le serveur s'affranchisse de tout verrou.
Si vous vouliez me faire peur ou avoir mauvaise conscience c'est réussi ; )
Avant toute chose, prenez du recul, réfléchissez, documentez-vous, formez-vous afin de ne pas prendre un remède qui s'avérera pire
que le mal.
Oui, j'ai vu que je devais aller plus loin. Jusqu'à présent je n'ai encore jamais
rencontré ces problèmes et je me demande encore comment dans la mesure
où je ne fais rien de 'nouveau'. Rien qu'entre hier et aujourd'hui j'en ai appris
des trucs que j'étais censé savoir ; )Mon site SQLpro, comme mes bouquins, peuvent vous y aider.
http://sqlpro.developpez.com
Oui, j'ai presque lu tous vos articles, il ne faut pas se voiler la face, presque
toutes les recherches pointent sur votre site depuis des années pour tout ce qui
touche à SQL en français, il faut le vouloir pour rater vos pages!
Par contre, je n'ai pas encore craqué pour les livres. Peut être simplement parce
que je n'ai jamais eu le besoin.
Je vais y refaire un tour, depuis le temps...Si vous êtes dans le cadre d'une entreprise, une bonne formation sur ces concepts est sans doute nécessaire et peut être prise en
charge par les fonds mutualisés (FAFIEC, Agefoss....). Je ne sais pas si c'est valable pour la suisse .... !
100% auto-formation , et oui, je suis en suisse et dans une PME du genre microPME
; )
Encore merci!
> Seriez vous Antonio Fontes ???
A +
> Seriez vous Antonio Fontes ???
A +
> Seriez vous Antonio Fontes ???
A +
> une idée simple : augmenter le timeout.
si vous utilisez la clef primaire pour identifier vos lignes, normallement, ça doit aller super vite.
vous etes certains que vous ne nous faites pas le coup du "je rempli le dataset avec les 1000000 de lignes, puis je trouve la
ligne, je la modifie, et j'update sur le dataAdapter" ?
> une idée simple : augmenter le timeout.
si vous utilisez la clef primaire pour identifier vos lignes, normallement, ça doit aller super vite.
vous etes certains que vous ne nous faites pas le coup du "je rempli le dataset avec les 1000000 de lignes, puis je trouve la
ligne, je la modifie, et j'update sur le dataAdapter" ?
> une idée simple : augmenter le timeout.
si vous utilisez la clef primaire pour identifier vos lignes, normallement, ça doit aller super vite.
vous etes certains que vous ne nous faites pas le coup du "je rempli le dataset avec les 1000000 de lignes, puis je trouve la
ligne, je la modifie, et j'update sur le dataAdapter" ?
> Je ne touche pas aux dataadapter dans mes développements généralement,
donc le problème ne devrait pas venir de là.
> Je ne touche pas aux dataadapter dans mes développements généralement,
donc le problème ne devrait pas venir de là.
> Je ne touche pas aux dataadapter dans mes développements généralement,
donc le problème ne devrait pas venir de là.
Bon et bien contrairement aux attentes, je continue à recevoir des
alertes, mais beaucoup moins cependant.
Suite aux récents échanges avec F.B., il serait sage de retirer mes
instructions 'WITH (NOLOCK)' dans les requêtes , surtout dans la
mesure où ce n'est pas ce qui a résolu le problème.
J'ai suivi une autre piste..
J'ai lancé la requête suivante:
SELECT spid, waittime, lastwaittype, waitresource
FROM master..sysprocesses
WHERE waittime > 2000
AND spid > 50
et j'obtiens au moment où le problème se présente, le résultat suivant:
51 123672 NETWORKIO
53 128891 NETWORKIO
54 135704 NETWORKIO
55 135750 NETWORKIO
57 137735 NETWORKIO
58 137547 NETWORKIO
59 115954 NETWORKIO
60 114125 NETWORKIO
61 99172 NETWORKIO
62 88797 NETWORKIO
64 76907 NETWORKIO
65 73735 NETWORKIO
66 36532 NETWORKIO
et le bonus, la dernière ligne:
67 13422 LCK_M_IX TAB: 7:722101613 []
Selon la documentationt rouvée à cet endroit :
http://sqldev.net/misc/waittypes.htm
NETWORKIO veut dire que le serveur attent une réponse ou un
complément d'informations du réseau.
Bizarre.
Mais j'ai donc immédiatement lancé un sp_who sur la base pour voir
les détails de ce spid 67:
66 0 runnable mylogin MISS 0 mydb SELECT
67 0 sleeping mylogin MISS 66 mydb UPDATE
Via une requête dans sysobjects, je vois effectivement que l'id 722101613
correspond à la table de commentaires.
Est-ce que je dois comprendre que le processus 'bloquant' est un select
dans la table de commentaires ou ma déduction est-elle trop 'naïve' ?
Antonio
Bon et bien contrairement aux attentes, je continue à recevoir des
alertes, mais beaucoup moins cependant.
Suite aux récents échanges avec F.B., il serait sage de retirer mes
instructions 'WITH (NOLOCK)' dans les requêtes , surtout dans la
mesure où ce n'est pas ce qui a résolu le problème.
J'ai suivi une autre piste..
J'ai lancé la requête suivante:
SELECT spid, waittime, lastwaittype, waitresource
FROM master..sysprocesses
WHERE waittime > 2000
AND spid > 50
et j'obtiens au moment où le problème se présente, le résultat suivant:
51 123672 NETWORKIO
53 128891 NETWORKIO
54 135704 NETWORKIO
55 135750 NETWORKIO
57 137735 NETWORKIO
58 137547 NETWORKIO
59 115954 NETWORKIO
60 114125 NETWORKIO
61 99172 NETWORKIO
62 88797 NETWORKIO
64 76907 NETWORKIO
65 73735 NETWORKIO
66 36532 NETWORKIO
et le bonus, la dernière ligne:
67 13422 LCK_M_IX TAB: 7:722101613 []
Selon la documentationt rouvée à cet endroit :
http://sqldev.net/misc/waittypes.htm
NETWORKIO veut dire que le serveur attent une réponse ou un
complément d'informations du réseau.
Bizarre.
Mais j'ai donc immédiatement lancé un sp_who sur la base pour voir
les détails de ce spid 67:
66 0 runnable mylogin MISS 0 mydb SELECT
67 0 sleeping mylogin MISS 66 mydb UPDATE
Via une requête dans sysobjects, je vois effectivement que l'id 722101613
correspond à la table de commentaires.
Est-ce que je dois comprendre que le processus 'bloquant' est un select
dans la table de commentaires ou ma déduction est-elle trop 'naïve' ?
Antonio
Bon et bien contrairement aux attentes, je continue à recevoir des
alertes, mais beaucoup moins cependant.
Suite aux récents échanges avec F.B., il serait sage de retirer mes
instructions 'WITH (NOLOCK)' dans les requêtes , surtout dans la
mesure où ce n'est pas ce qui a résolu le problème.
J'ai suivi une autre piste..
J'ai lancé la requête suivante:
SELECT spid, waittime, lastwaittype, waitresource
FROM master..sysprocesses
WHERE waittime > 2000
AND spid > 50
et j'obtiens au moment où le problème se présente, le résultat suivant:
51 123672 NETWORKIO
53 128891 NETWORKIO
54 135704 NETWORKIO
55 135750 NETWORKIO
57 137735 NETWORKIO
58 137547 NETWORKIO
59 115954 NETWORKIO
60 114125 NETWORKIO
61 99172 NETWORKIO
62 88797 NETWORKIO
64 76907 NETWORKIO
65 73735 NETWORKIO
66 36532 NETWORKIO
et le bonus, la dernière ligne:
67 13422 LCK_M_IX TAB: 7:722101613 []
Selon la documentationt rouvée à cet endroit :
http://sqldev.net/misc/waittypes.htm
NETWORKIO veut dire que le serveur attent une réponse ou un
complément d'informations du réseau.
Bizarre.
Mais j'ai donc immédiatement lancé un sp_who sur la base pour voir
les détails de ce spid 67:
66 0 runnable mylogin MISS 0 mydb SELECT
67 0 sleeping mylogin MISS 66 mydb UPDATE
Via une requête dans sysobjects, je vois effectivement que l'id 722101613
correspond à la table de commentaires.
Est-ce que je dois comprendre que le processus 'bloquant' est un select
dans la table de commentaires ou ma déduction est-elle trop 'naïve' ?
Antonio
> elle est naïve. Seule SQL Profiler permetrait de tracer ce qui se passe.
je pense que votre traitement efectue d'abord un select et ouvre donc un curseur....
le nombre de processus que vous avez n'est pas important.
Quelle est votre config serveur ?
OS, SQL Server, RAM, disque dans le détail...
> elle est naïve. Seule SQL Profiler permetrait de tracer ce qui se passe.
je pense que votre traitement efectue d'abord un select et ouvre donc un curseur....
le nombre de processus que vous avez n'est pas important.
Quelle est votre config serveur ?
OS, SQL Server, RAM, disque dans le détail...
> elle est naïve. Seule SQL Profiler permetrait de tracer ce qui se passe.
je pense que votre traitement efectue d'abord un select et ouvre donc un curseur....
le nombre de processus que vous avez n'est pas important.
Quelle est votre config serveur ?
OS, SQL Server, RAM, disque dans le détail...
Quelle est votre config serveur ?
OS, SQL Server, RAM, disque dans le détail...
os: Windows 2000 serveur US
sql: MSDE
cpu: Athlon 2.4g
ram: 1go de ram, corsair ddr400 (2x512)
disques: 2x IBM - 80go - 8m cache - en configuration RAID 1 hardware (vt8237 via)
(pour info, le RAID n'est actif que depuis deux jours, les erreurs ne sont pas
devenues plus fréquentes)
antonio
(petite pause pour moi , il faut que j'aille tout de même me nourrir, il n'y aura
sûrement pas de réponse de ma part avant 19 heures environ)
p.s. : encore un grand merci à vous deux de prendre le temps de répondre à toutes
mes questions!
Quelle est votre config serveur ?
OS, SQL Server, RAM, disque dans le détail...
os: Windows 2000 serveur US
sql: MSDE
cpu: Athlon 2.4g
ram: 1go de ram, corsair ddr400 (2x512)
disques: 2x IBM - 80go - 8m cache - en configuration RAID 1 hardware (vt8237 via)
(pour info, le RAID n'est actif que depuis deux jours, les erreurs ne sont pas
devenues plus fréquentes)
antonio
(petite pause pour moi , il faut que j'aille tout de même me nourrir, il n'y aura
sûrement pas de réponse de ma part avant 19 heures environ)
p.s. : encore un grand merci à vous deux de prendre le temps de répondre à toutes
mes questions!
Quelle est votre config serveur ?
OS, SQL Server, RAM, disque dans le détail...
os: Windows 2000 serveur US
sql: MSDE
cpu: Athlon 2.4g
ram: 1go de ram, corsair ddr400 (2x512)
disques: 2x IBM - 80go - 8m cache - en configuration RAID 1 hardware (vt8237 via)
(pour info, le RAID n'est actif que depuis deux jours, les erreurs ne sont pas
devenues plus fréquentes)
antonio
(petite pause pour moi , il faut que j'aille tout de même me nourrir, il n'y aura
sûrement pas de réponse de ma part avant 19 heures environ)
p.s. : encore un grand merci à vous deux de prendre le temps de répondre à toutes
mes questions!