J'utilise SQL2008 et .NET 4.SQL Server 2008 - Mise à jour Délai de requête
Voici UPDATE requête provoque des erreurs de délai d'attente.
Tableau Les pages ont 600 000 enregistrements.
Erreur:
System.Data.SqlClient.SqlException (0x80131904): Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Requête:
UPDATE Pages
SET Checked = 1 , LastChecked = GETDATE()
OUTPUT Inserted.ID, Inserted.Title INTO @Updated
WHERE ID in
(SELECT TOP (@Count) ID
FROM Pages
WHERE Checked = 0 and FileID = @FileID
ORDER BY ID)
SELECT * FROM @Updated
END
Sur un autre thread I Insérer des enregistrements à Pages
table, cela va sans cesse (une page est ajoutée toutes les 1 sec ou moins).
INSERT INTO Pages (Title ,.......)
VALUES (@Title , .......)
Pourquoi est-ce que j'obtiens l'erreur de délai d'attente et comment puis-je la résoudre?
SQL ne pas attendre indéfiniment sur la situation de blocage?
thx. Je pense que l'ajustement du délai d'attente n'est pas vraiment une solution. – RuSh
Il est tout simplement trop facile de prolonger le timeout à chaque fois que la requête ralentit. Je pense que je devrais enquêter complètement s'il y a quelque chose à améliorer. – RuSh
"Avez-vous regardé SSMS pour déterminer ce qui est bloqué/bloqué?" , pouvez-vous s'il vous plaît expliquer comment faire cela? – RuSh