Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ASP/SQL2005 - Ce serveur SQL n'existe pas ou son accès est refusé

2 réponses
Avatar
Glenn Gagné
J'ai posté ce message également sous la section SQL Server, mais n'ayant pas
obtenu de réponse viable pour le moment, j'ai décidé de l'ajouter ici....
puisque le problème se passe entre ASP et SQL. Si vous avez une idée s.v.p.
me répondre.

Voici l'erreur que je reçois à l'écran des clients IE lors du problème:

Microsoft OLE DB Provider for SQL Server erreur '80004005'.
[DBNETLIB][ConnectionOpen (Connect()).] Ce serveur SQL n'existe pas ou son
accès est refusé.

--------------------

J'obtiens régulièrement ce problème avec mon site Web dynamique (Windows
2003 SP1, IIS 6 et SQL 2005 SP1 avec Pentium D 3.4 Ghz, 80 Go RAID1 et 1 Go
RAM) lorsque des requête plus ou moins volumineuses sont demandées. Et
lorsque ça se produit les utilisateurs sont incapables de se connecter au
site pour environ 30 à 45 secondes... puis ensuite tout redeviens normal. Il
arrive parfois qu'entre temps si des usagers essaient de se conencter, il y
a des erreurs :

Microsoft OLE DB Provider for SQL Server erreur '80004005' différentes, du
genre: délai expiré, erreur de handshake, ...

Après les diagnostics que j'ai fais, il semble que le serveur SQL2005
flanche et rompe toute connexion pendant quelques secondes lorsqu'une
requête est trop grosse à son goût. Ce qui m'intrigue c'est que je n'ai pas
ce problème avec un autre système monté en parallèle avec les même données
et requêtes depuis ASP... mais c'est SQL2000 et je n'ai pas de problème.

En faisant quelques tests, j'ai vérifié l'utilisation CPU pour voir ce qui
se passait. Lorsque je demande une grosse requête le CPU ne dépasse pas les
60-65% dans les 2 cores, ça dure 10-15 secondes et après ce délai Poufff !!!
le CPU tombe à 0% d'utilisation, mais là j'ai pas reçu rien à l'écran du
client Web... j'attends encoe 15-20 secondes et voilà j'obtiens alors
l'erreur: Microsoft OLE DB Provider for SQL Server erreur '80004005'.
[DBNETLIB][ConnectionOpen (Connect()).] Ce serveur SQL n'existe pas ou son
accès est refusé.

Donc on peut remarquer que le traitement des données par SQL s'est
interrompu bien avant le retour de l'information et il y a eu un moment de
"réflexion" à SQL ou IIS avant de retrourner l'erreur.


Avez-vous une idée (ou encore mieux une solution) à ce problème ?

Merci

2 réponses

Avatar
jbongran
Glenn Gagné wrote:
J'ai posté ce message également sous la section SQL Server, mais
n'ayant pas obtenu de réponse viable pour le moment, j'ai décidé de
l'ajouter ici.... puisque le problème se passe entre ASP et SQL. Si
vous avez une idée s.v.p. me répondre.

Voici l'erreur que je reçois à l'écran des clients IE lors du
problème:

Microsoft OLE DB Provider for SQL Server erreur '80004005'.
[DBNETLIB][ConnectionOpen (Connect()).] Ce serveur SQL n'existe pas
ou son accès est refusé.

--------------------

J'obtiens régulièrement ce problème avec mon site Web dynamique
(Windows 2003 SP1, IIS 6 et SQL 2005 SP1 avec Pentium D 3.4 Ghz, 80
Go RAID1 et 1 Go RAM) lorsque des requête plus ou moins volumineuses
sont demandées. Et lorsque ça se produit les utilisateurs sont
incapables de se connecter au site pour environ 30 à 45 secondes...
puis ensuite tout redeviens normal. Il arrive parfois qu'entre temps
si des usagers essaient de se conencter, il y a des erreurs :

Microsoft OLE DB Provider for SQL Server erreur '80004005'
différentes, du genre: délai expiré, erreur de handshake, ...

Après les diagnostics que j'ai fais, il semble que le serveur SQL2005
flanche et rompe toute connexion pendant quelques secondes lorsqu'une
requête est trop grosse à son goût. Ce qui m'intrigue c'est que je
n'ai pas ce problème avec un autre système monté en parallèle avec
les même données et requêtes depuis ASP... mais c'est SQL2000 et je
n'ai pas de problème.

En faisant quelques tests, j'ai vérifié l'utilisation CPU pour voir
ce qui se passait. Lorsque je demande une grosse requête le CPU ne
dépasse pas les 60-65% dans les 2 cores, ça dure 10-15 secondes et
après ce délai Poufff !!! le CPU tombe à 0% d'utilisation, mais là
j'ai pas reçu rien à l'écran du client Web... j'attends encoe 15-20
secondes et voilà j'obtiens alors l'erreur: Microsoft OLE DB Provider
for SQL Server erreur '80004005'. [DBNETLIB][ConnectionOpen
(Connect()).] Ce serveur SQL n'existe pas ou son accès est refusé.

Donc on peut remarquer que le traitement des données par SQL s'est
interrompu bien avant le retour de l'information et il y a eu un
moment de "réflexion" à SQL ou IIS avant de retrourner l'erreur.


Avez-vous une idée (ou encore mieux une solution) à ce problème ?

Merci



Code utilisé pour ouvrir la connexion.
Les objets de connexion sont bien ouverts une seule fois par page (et
explicitement détruit à la fin de cette page)
Les objets recordset sont bien fermés et détruits le plus tôt possible ?
Au niveau de la configuration odbc, le regroupement des connexions est bien
activé ?
Les On Error Resume Next (si il y en a) ont été enlevé pour le debug ?
Avatar
Glenn Gagné
Merci pur ces pistes à rechercher, je vais vérifier tout ça avec mon
programmeur.

Glenn Gagné
Technicien MCP/TI


"jbongran" a écrit dans le message de
news:
Glenn Gagné wrote:
> J'ai posté ce message également sous la section SQL Server, mais
> n'ayant pas obtenu de réponse viable pour le moment, j'ai décidé de
> l'ajouter ici.... puisque le problème se passe entre ASP et SQL. Si
> vous avez une idée s.v.p. me répondre.
>
> Voici l'erreur que je reçois à l'écran des clients IE lors du
> problème:
>
> Microsoft OLE DB Provider for SQL Server erreur '80004005'.
> [DBNETLIB][ConnectionOpen (Connect()).] Ce serveur SQL n'existe pas
> ou son accès est refusé.
>
> --------------------
>
> J'obtiens régulièrement ce problème avec mon site Web dynamique
> (Windows 2003 SP1, IIS 6 et SQL 2005 SP1 avec Pentium D 3.4 Ghz, 80
> Go RAID1 et 1 Go RAM) lorsque des requête plus ou moins volumineuses
> sont demandées. Et lorsque ça se produit les utilisateurs sont
> incapables de se connecter au site pour environ 30 à 45 secondes...
> puis ensuite tout redeviens normal. Il arrive parfois qu'entre temps
> si des usagers essaient de se conencter, il y a des erreurs :
>
> Microsoft OLE DB Provider for SQL Server erreur '80004005'
> différentes, du genre: délai expiré, erreur de handshake, ...
>
> Après les diagnostics que j'ai fais, il semble que le serveur SQL2005
> flanche et rompe toute connexion pendant quelques secondes lorsqu'une
> requête est trop grosse à son goût. Ce qui m'intrigue c'est que je
> n'ai pas ce problème avec un autre système monté en parallèle avec
> les même données et requêtes depuis ASP... mais c'est SQL2000 et je
> n'ai pas de problème.
>
> En faisant quelques tests, j'ai vérifié l'utilisation CPU pour voir
> ce qui se passait. Lorsque je demande une grosse requête le CPU ne
> dépasse pas les 60-65% dans les 2 cores, ça dure 10-15 secondes et
> après ce délai Poufff !!! le CPU tombe à 0% d'utilisation, mais là
> j'ai pas reçu rien à l'écran du client Web... j'attends encoe 15-20
> secondes et voilà j'obtiens alors l'erreur: Microsoft OLE DB Provider
> for SQL Server erreur '80004005'. [DBNETLIB][ConnectionOpen
> (Connect()).] Ce serveur SQL n'existe pas ou son accès est refusé.
>
> Donc on peut remarquer que le traitement des données par SQL s'est
> interrompu bien avant le retour de l'information et il y a eu un
> moment de "réflexion" à SQL ou IIS avant de retrourner l'erreur.
>
>
> Avez-vous une idée (ou encore mieux une solution) à ce problème ?
>
> Merci

Code utilisé pour ouvrir la connexion.
Les objets de connexion sont bien ouverts une seule fois par page (et
explicitement détruit à la fin de cette page)
Les objets recordset sont bien fermés et détruits le plus tôt possible ?
Au niveau de la configuration odbc, le regroupement des connexions est


bien
activé ?
Les On Error Resume Next (si il y en a) ont été enlevé pour le debug ?