J'ai une tâche que j'exécute à partir du MS SQL Server Management Studio. Je m'attends à ce qu'elle se termine en une heure et elle s'est déjà terminée dans ce laps de temps. Les données d'entrée n'ont pas changé de façon spectaculaire et je m'attendrais donc à un temps d'exécution similaire. Mais maintenant, il semble que le serveur SQL soit bloqué. La tâche a été exécutée toute la nuit, au total environ 20 heures.
Lorsque j'ouvre le gestionnaire de tâches sur le serveur, je constate qu'un cœur est utilisé à 100 % par sqlservr.exe. La machine a 8 cœurs. Comme d'habitude, ce processus a pris toute la mémoire (30 Go). La version du serveur SQL est 10.50.1600.1.
Je suis le seul utilisateur sur le serveur.
Selon dm_exec_requests, l'identifiant de session est 55. Et je peux obtenir le texte correct de la requête via dm_exec_sql_text. J'ai vérifié le dm_os_waiting_tasks et le session_id ne fait pas partie des résultats.
Voici quelques détails supplémentaires sur cette tâche :
status: running
command: UPDATE
start_time: 2013-07-11 14:49:39.533
last_wait_type: SOS_SCHEDULER_YIELD
open_transaction_count: 2
open_resultset_count: 1
cpu_time: 69315970
total_elapsed_time: 69594247
reads: 5139
writes: 1181434
text_size: -1
J'ai également lancé le moniteur de processus pendant la nuit et il n'y a pas beaucoup d'accès aux fichiers des bases de données en question.
Quelqu'un peut-il me dire ce que je peux faire de plus ?