40501: The service is currently busy. Retry the request after 10 seconds (le service est actuellement occupé ; réessayez dans 10 secondes)
SQL ServerQue signifie cette erreur ?
Dans Azure SQL Database, le service a temporairement refusé la requête en raison d'une pression sur les ressources (throttling du moteur). Le système est occupé et le client doit réessayer peu après.
Cause
Une ressource comme le CPU, les connexions, le débit d'écriture du journal de transactions ou le nombre de workers atteint la limite du niveau de service choisi (DTU/vCore) ; pic de charge soudain ; ou requêtes longues/inefficaces qui consomment la ressource. Le 'reason code' accompagnant l'erreur indique quelle ressource est limitée.
Comment la corriger
Implémentez une logique de relance avec backoff exponentiel dans l'application ; c'est le comportement attendu pour les erreurs transitoires. Examinez l'utilisation des ressources : sys.dm_db_resource_stats et les métriques du portail Azure. Optimisez les requêtes/index et réduisez la concurrence inutile. Si la saturation persiste, montez en niveau de service (DTU/vCore).
Autres entrées pour ce moteur
- 605Attempt to fetch logical page belongs to a different allocation unit (la page logique lue appartient à une autre unité d'allocation)
- 4922ALTER TABLE ALTER COLUMN failed because one or more objects access this column (échec d'ALTER TABLE ALTER COLUMN : un ou plusieurs objets accèdent à cette colonne)
- 7202Could not find server 'name' in sys.servers (serveur 'name' introuvable dans sys.servers)
- 8645A time out occurred while waiting for memory resources to execute the query (timeout en attendant les ressources mémoire nécessaires à l'exécution de la requête)
- 8651Could not perform the operation because the requested memory grant was not available (opération impossible : l'octroi de mémoire demandé n'était pas disponible)
- 5061ALTER DATABASE failed because a lock could not be placed on database (échec d'ALTER DATABASE : impossible de poser un verrou sur la base)
- 3702Cannot drop database because it is currently in use (impossible de supprimer la base : elle est en cours d'utilisation)