Soluzioni tecniche

Cosa sta facendo adesso SQL Server?

14 Maggio 2013

E' la vigilia di un giorno di festa: domani nessuno lavora.
Un ottimo momento per fare un'operazione un po' intrusiva sui nostri sistemi, così se qualcosa va storto o per le lunghe, c'è tutto il tempo di recuperare.

Devo svuotare un paio di tabelle temporanee che vengono utilizzate dal nostro sito. Entrambe hanno oltre nove milioni di record. Le strade possibili sono due:

  1. svuotare direttamente le tabelle da SQL Server e cambiare il contenuto "sotto al naso" del nostro Application Server. Soluzione performante, ma non è che l'Application Server "si arrabbia"?
  2. Cambiare alcuni parametri "magici" dell'Application Server in modo che sia lui a dare i comandi a SQL Server per svuotare le tabelle.

Siccome ne ho viste tante, decido di andare sul sicuro: scelgo la seconda strada, quella conservativa

Modifico i parametri e mi aspetto che dopo una mezz'oretta il sistema inizi a chiedere a SQL Server di svuotare le tabelle temporanee (che, mentre l'applicativo è in piedi, vengono di continuo utilizzate).
Dopo un po' torno a vedere che succede: non mi sembra che le cose stiano andando bene (le tabelle sono ancora piene) e il sito non risponde più, pur senza dare alcun errore.
Inizio un bel troubleshooting, ma prima di descrivervelo vi faccio una domanda: voi cosa fate per capire cosa sta davvero facendo SQL Server?




Io ho risolto i miei dubbi: ho trovato il modo di capire cosa sta impegnando SQL Server.
Lo volete sapere anche voi? Bene, ve lo spiego subito. 

  • Collegatevi al vostro database SQL Server.
  • Aprite SQL Management Studio e fornite le credenziali.
  • Selezionate il nome del database ed espandetelo con il segno +.
  • Andate su Database/Views/System views/dm_exec_requests.

Eseguendo questa vista, vedrete tutto quello che sta facendo il vostro SQL Server.


SQL Server


Perché è così importante? Soprattutto per scoprire le query che vanno in stato di suspended

Talvolta, quando si processano alcune query, queste vanno in stato di suspended bloccando automaticamente la tabella in questione (nel mio caso, ecco perché non mi funzionava più il sito).
E non c'è nulla da fare: si può solo aspettare che la query finisca.
Ma io non posso aspettare; sì, lo so, l'operazione è impegnativa ma non posso bloccare il sito per tanto tempo.
Ora, con i passaggi indicati sopra, si può scoprire cosa sta facendo SQL Server e se c'è qualche query in stato di suspended.

Ma adesso viene il bello, perché vediamo come sbloccare quella tabella forzando SQL a rilasciarla

  • Individuate l'ID del processo in stato di suspended (c'è proprio la colonna "session_id");
  • aprite una finestra di SQL query e digitate il comando "Kill".

Questo comando stronca la query in stato di suspended e la tabella si sblocca.

E tu, come scopri cosa sta facendo SQL Server?

 

Autore
Gabriele Palumbo
Nasco a Bologna ma ho vissuto l’infanzia in Piemonte, l’adolescenza in Puglia e la maturità tra Umbria, Toscana, Puglia, Emilia-Romagna e Lombardia (e non è ancora finita). Ho avuto quindi modo di entrare in contatto con diversi ambienti e contesti sociali. Una formazione umanistica (Sociologia della devianza a Perugia e Relazioni Internazionali a Pisa), passione per la scrittura e decine di corsi sul mondo digital sono state ottime basi per entrare nel campo del marketing e della comunicazione. Nel 2015 pubblico il romanzo breve “Ci siamo solo persi di vista” e, a inizio 2019, pubblico la biografia della rock band “Ministri”, entrata in poche ore nei Top Sellers di Amazon. Un romanzo è in fase di scrittura. Terminati gli studi entro attivamente nel mondo della musica, organizzando svariati concerti e un festival, e della comunicazione digitale, gestendo la linea editoriale di blog e social e ricoprendo ruoli di copywriter e content editor. Nel 2017 entro nel collettivo Dischirotti. occupandomi dei contenuti web, mentre il 2018 mi vede prima nell’agenzia FLOOR concerti come booking agent per svariati artisti e poi in VOX concerti come direttore di produzione. Tornato a Bologna inizio a collaborare con l’etichetta discografica Manita Dischi come project manager e svolgo un tirocinio presso l’agenzia di marketing e comunicazione digitale Engine Lab, nel ruolo di content editor. Dal 2020 al 2023 ho collaborato, sia come editor che come contributor, con Fantastico.esclamativo, newsletter letteraria e rivista culturale creata da Alberto Guidetti de Lo Stato Sociale. Ogni due sabati invio “Capibara”, una newsletter che tratta di attualità e meme in un progetto che, occasionalmente, porto anche dal vivo sotto forma di Stand-Up. Attualmente ricopro il ruolo di Channel Marketing Manager in Achab, con particolare focus su contenuti editoriali, analytics, marketing automation e CMS.
Commenti (0)
Iscriviti
Notificami
guest
0 Commenti
Inline Feedbacks
Guarda tutti i commenti