SQl Server obtenez toujours l'erreur “Délai d'attente expiré. Le délai écoulé”
Je pensais que j'avais une erreur sql léché dans un post ici juste un peu plus tôt... (message d'Erreur: Délai d'attente expiré. Le délai écoulé avant la fin de l'opération ou le serveur ne répond pas.") J'essaie de l'exécuter avec les outils de base de données dans visual studio... pas de gestion de studio, et non à l'aide du code client/ADO (encore). J'ai réécrit un assez simple requête qui utilise un couple de fonctions personnalisées... les fonctions ainsi que les parties de la requête ont été testés et fonctionnent bien, mais la requête ci-dessous les temps.. cela fonctionne exactement comme tapé dans Management Studio, et prend environ 4 minutes. Comme je l'ai mentionné dans mon autre post, j'ai changé le paramètre dans Outils>Options>Designers>"Remplacer la connexion de la chaîne de valeur de délai d'attente" à 120 secondes par cette annonce, mais... c'est encore une fois les 30 secondes. L'ajout de la ISNULL dans cette dernière version est le changement qui est en cours d'exécution dans management studio.
SELECT Symbol, LatestDate
FROM (SELECT Symbol, ISNULL(dbo.LatestDateInDailyPricingVolBySymbol(Symbol), '1/1/1900') AS LatestDate FROM tblSymbolsMain) AS T2
WHERE (LatestDate < dbo.RecentTradingDateByNumber(3))
L'idée générale est d'obtenir un sous-ensemble de symboles boursiers qui n'ont pas de point de données correspondant dans ma vie de tous les prix de la table pour au moins 3 jours. Les élèves? Merci à tous.
OriginalL'auteur StatsViaCsh | 2012-01-16
Vous devez vous connecter pour publier un commentaire.
Sans égard à votre délai d'attente;
Êtes-vous à l'aide de sql la console de gestion de votre requête? Si donc, lors de la connexion à la base de données il y a un bouton options permet de définir le délai d'expiration.
Aussi, si dans la fenêtre de requête, cliquez droit et choisissez les Options de Requête....
0, signifie illimité, je voudrais vérifier ces. 4 minutes, c'est long, peut-être la requête peut être reconstruit pour courir plus vite?
Si vous exécutez l'intérieur de Visual Studio via C# la commande par défaut, le délai est de 30 secondes. Modifier par réglage de la commande de temps:
Doit être un paramètre à l'intérieur de VS2010 qui est similaire à SQL Server Management console. Si il y avait le code généré, il peut être adjused via le code, mais peut-être un clic droit sur l'écran de requête, ou les options de quelque part? Désolé, je n'utilise pas VS2010 pour exécuter des requêtes, juste le SQL Server management console, donc je suis pas familier avec ces écrans.
Regarda autour de VS2010 un peu, je peux définir le délai d'attente de connexion, mais ne peut pas trouver la commande timeout. Je voudrais essayer avec le code au lieu de l'aide de l'outil, on dirait que c'est à l'aide d'un défaut qui ne peut pas être facilement changé.
Merci... je n'avais pas cherché jusqu'à ce que votre suggestion, mais il y a un ensemble d'options de visual studio dans outils> options> DatabaseTools. Je l'ai changé et il fonctionne.. au cours de près de cinq minutes! 🙂 Il va faire pour l'instant.
OriginalL'auteur Jon Raynor
Si une requête prend autant de temps de temps, alors il est probablement quelque chose de mal. Je voudrais déclarer une variable pour stocker la RecentTradingDateByNumber. De sorte qu'il ressemble à ceci:
Pour voir l'exécution dans management studio, aller à la "Requête/Inclure le Plan d'Exécution Réel".
Si vous aussi vous souhaitez voir le trafic de la requête que le nombre de select etc. Vous pouvez également inclure des statistiques du client. "Requête/Inclure des statistiques sur les clients"
Si vous voulez savoir plus d'informations sur l'examen des requêtes d'exécution de voir
ici
OriginalL'auteur Arion
C'est moi que votre routine prend 4 minutes pour commencer. Cela semble assez simple requête en supposant que les fonctions de faire ce qu'ils semblent le faire, et avec l'indexation et à la appropriée de la table design, il devrait revenir beaucoup plus rapidement que cela.
Avez-vous regardé le plan d'exécution de cette requête:
Fonctions scalaires peuvent être des problèmes de performances lorsque appelée à plusieurs reprises sur des ensembles avec un grand nombre de lignes, et aussi mal sargability.
Dans Management Studio, il y a une option de menu pour afficher le plan d'exécution. Il y a un ebook gratuit qui vous dira comment faire pour comprendre ce qu'est un mauvais plan d'exécution ressemble: simple-talk.com/books/sql-books/sql-server-execution-plans
OriginalL'auteur Cade Roux