SQLServer => delai expiré

SQLServer => delai expiré - SQL/NoSQL - Programmation

Marsh Posté le 21-07-2004 à 16:38:57    

Bonjour,  
J'ai un pbm qui revient regulierement quand je lance des requetes "compliqués" c'est à dire sur des tables ayant des millions de lignes , j'ai souvent delai expiré.
plus precisement :
 

Code :
  1. SQL Server Entreprise Manager
  2. [Microsoft][ODBC SQL Driver]Délai d'attente expiré


 
Lors du lancement par une page asp:
 
 

Code :
  1. HTTP 500.100 - Erreur interne au serveur - Erreur ASP
  2. Services Internet (IIS)
  3. --------------------------------------------------------------------------------
  4. Informations techniques (destinées au personnel du Support technique)
  5. Type d'erreur :
  6. Microsoft OLE DB Provider for SQL Server (0x80040E31)
  7. Expiration du délai
  8. /EssaiAL/EssaiVUMeF/heuristique.asp, line 5


 
J'ai essayer de regarder les differentes options sur les delai d'attentes mais je n'ai pas reussi a resoudre le probleme.
 
Merci

Reply

Marsh Posté le 21-07-2004 à 16:38:57   

Reply

Marsh Posté le 21-07-2004 à 17:06:01    

Dans php.ini il y a fixé la durée maximale de vie d'une requete, si tu le depasse ca foire, donc soit tu rallonge ce delai, soit tu coupe tes tables

Reply

Marsh Posté le 21-07-2004 à 22:18:04    

C'est une expiration cêté SQL Server, pas ASP, donc le ScriptTimeout n'aura aucun effet.
 
Tu peux toujours essayer avec ton objet connection (connectiontimeout) et ton objet recordset (commandtimeout) mais je pense que le paramètre de SQL Server primera de toute façon.
 
Ce problème de délais me semble plus lié à des locks sur la table qui empêchent la requête de démarrer pendant ce temps, plutôt qu'un timeout de la requête (en effet normalement le timeout SQL Server est très long)
 
A moins que ce dernier ait été modifié. A ce moment il faut le changer :
 
http://perso.wanadoo.fr/magicbuzz/timeout.png
 
Dans Entreprise Manager : Outils > Options

Reply

Marsh Posté le 21-07-2004 à 22:18:49    

0 (valeur par défaut) indique que la requête tournera sans limite de temps

Reply

Marsh Posté le 21-07-2004 à 22:19:52    

Quoique j'ai un doute... C'est le timeout ODBC ça en fait...
 
Pour le timeout d'une requête, cherche dans l'aide, c'est forcément expliqué quelquepart.

Reply

Marsh Posté le 22-07-2004 à 10:24:07    

bonjour,
Merci de votre aide mais ca n'a toujours pas résolu le probleme j'ai deja verifier dans propriete=> avancé =>Query time out second, et j'ai aussi verifier dans les proprités =>de connection=> Query time out second
ca ne marche toujours pas...
je voulais juste precise que ca ne marche pas quand j'execute une requête depuis l'analyseur de requete et quand j'execute une procedure stocke contenant la requete et quand je lance depuis une page ASP mais je ne rencontre pas de probleme quand j'utilise l'Analyseur de requêtes SQL.
quelle est l'otion à modifier pour que ca marche dans SQlServer?
J'ai deja regarder l'aide mais je ne trouve pas...
Merci

Reply

Marsh Posté le 22-07-2004 à 12:24:00    

Bonjour,
J'ai résolu mon probleme quand je passe par une page asp en rajoutant dans mon fichier:
...
Server.ScriptTimeout = 1800
...
MaConnection.ConnectionTimeout = 0
...
MaConnection.CommandTimeout = 0
...
Mais je ne sais tjs pas comment faire depuis SqlServer...
Même si je n'en ai pas vraiment besoin, si vous avez la reponse j'aimerai bien savoir...
Merci

Reply

Marsh Posté le 22-07-2004 à 13:39:58    

Je t'ai dis de lire l'aide :o
 


 Référence de Transact-SQL  
 
 
sp_serveroption
Définit les options de serveur pour les serveurs distants et les serveurs liés.
 
Dans cette version, sp_serveroption a été amélioré à l'aide de deux nouvelles options, use remote collation et collation name, qui prennent en charge les classements dans les serveurs liés.
 
Syntaxe
sp_serveroption [@server =] 'server'  
    ,[@optname =] 'option_name'
    ,[@optvalue =] 'option_value'
 
Arguments
[@server =] 'server'
 
Nom du serveur pour lequel vous voulez activer l'option. L'argument server est de type sysname et n'a pas de valeur par défaut.
 
[@optname =] 'option_name'
 
Option à activer pour le serveur indiqué. L'argument option_name est de type varchar(35) et n'a pas de valeur par défaut. L'argument option_name peut prendre l'une des valeurs suivantes.
 
Valeur Description  
collation compatible Concerne l'exécution des requêtes distribuées sur les serveurs liés. Si la valeur de cette option est true, Microsoft® SQL Server™ considère que tous les caractères du serveur lié sont compatibles avec le serveur local en matière de jeu de caractères et d'ordre de classement (ou ordre de tri). Cela permet à SQL Server d'envoyer au fournisseur des comparaisons sur les colonnes de caractères. Si cette option n'est pas activée, SQL Server compare toujours les colonnes de caractères en local.  
Cette option ne doit être activée que s'il est certain que la source de données correspondant au serveur lié possède le même jeu de caractères et respecte le même ordre de tri que le serveur local.
 
collation name Indique le nom du classement utilisé par la source de données distante si use remote collation prend la valeur true, et que la source de données n'est pas une source de données SQL Server. Le nom doit être l'un des classements pris en charge par SQL Server.  
Utilisez cette option lors d'un accès à une source de données OLE DB autre que SQL Server, mais dont le classement correspond à l'un des classements de SQL Server.  
 
Le serveur lié doit prendre en charge un seul classement à utiliser pour toutes les colonnes du serveur. N'activez pas cette option si le serveur lié prend en charge plusieurs classements dans une seule source de données, ou si le classement du serveur lié ne peut pas être déterminé pour correspondre à l'un des classements de SQL Server.
 
connect timeout Valeur du délai d'expiration de la connexion à un serveur lié.  
Si la valeur est 0, utilisez la valeur par défaut sp_configure.
 
data access Autorise ou non un serveur lié à avoir accès aux requêtes distribuées. Cette option ne peut être utilisée que pour les entrées sysserver ajoutées par l'intermédiaire de sp_addlinkedserver.  
dist Distributeur.  
dpub Éditeur à distance de ce distributeur  
lazy schema validation Détermine si le schéma des tables distantes doit être vérifié.  
Si la valeur est true, la vérification du schéma des tables distantes est ignorée au début de la requête.
 
pub Éditeur.  
query timeout Valeur du délai d'expiration des requêtes par rapport à un serveur lié.  
Si la valeur est 0, utilisez la valeur par défaut sp_configure.
 
rpc Active RPC en provenance du serveur donné.  
rpc out Active RPC en direction du serveur donné.  
sub Abonné.  
system À usage interne uniquement.  
use remote collation Détermine si le classement d'une colonne distante ou d'un serveur local doit être utilisé.  
Si la valeur est true, le classement des colonnes distantes est utilisé pour les sources de données SQL Server, et le classement spécifié dans collation name est utilisé pour les sources de données non SQL Server.  
 
Si la valeur est false, les requêtes distribuées utilisent toujours le classement par défaut du serveur local, tandis que collation name et le classement des colonnes distantes sont ignorés. La valeur par défaut est false. (La valeur false est compatible avec la sémantique de classement utilisée dans SQL Server 7.0.)
 
 
 
[@optvalue =] 'option_value'
 
Indique si option_name doit être activé (TRUE ou on) ou désactivé (FALSE ou off). L'argument option_value est de type varchar(10) et n'a pas de valeur par défaut.
 
L'argument option_value peut être un entier non négatif pour les options connect timeout et query timeout. Pour l'option collation name, l'argument option_value peut être un nom de classement ou une valeur NULL.
 
Valeurs des codes renvoyés
0 (succès) ou 1 (échec)
 
Notes
Si l'option collation compatible prend la valeur TRUE, collation name prend automatiquement la valeur NULL. Si collation name prend une valeur qui n'est pas NULL, collation compatible prend automatiquement la valeur FALSE.
 
Autorisations
Seuls les membres des rôles de serveur fixe sysadmin et setupadmin peuvent exécuter sp_serveroption.
 
Exemple
A. Activer un serveur éditeur/abonné
Cet exemple définit le serveur comme un serveur de combinaison éditeur/abonné.
 
USE master
EXEC sp_serveroption 'ACCOUNTS', 'dpub', 'TRUE'
 
B. Désactiver un serveur de distribution
Cet exemple désactive l'option dist pour le serveur SEATTLE2.
 
USE master
EXEC sp_serveroption 'SEATTLE2', 'dist', 'off'
 
C. Activer un serveur lié pour qu'il soit compatible avec le classement d'un serveur local SQL Server
Cet exemple configure un serveur lié correspondant à un autre serveur SQL Server, SEATTLE3, de façon à ce qu'il soit compatible avec le classement du serveur local SQL Server.
 
USE master
EXEC sp_serveroption 'SEATTLE3', 'collation compatible', 'true'
 
 
Voir aussi
 
sp_adddistpublisher
 
sp_addlinkedserver
 
sp_dropdistpublisher
 
sp_helpserver
 
Procédures stockées du système  
 
©1988-2000 Microsoft Corporation. Tous droits réservés.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed