none
Procedura di Loggin RRS feed

  • Domanda

  • Ciao a tutti,

    Avrei bisogno di creare una procedura che mi permetta di monitorare tutto quello che succede quando viene lanciata una procedura.

    Esempio, data inizio, data fine, numero record inseriti, numero record aggiornati, numero record eliminati  .

    Avete qualche idea ?

    Grazie

    Simone

    martedì 30 luglio 2013 13:31

Risposte

  • Ciao,

    a partire da SQL Server 2008 hai il change data capture, che consente di tracciare inserimenti, cancellazioni e modifiche delle tabelle che vuoi gestire. L'unico problema è che è presente solo nelle versioni Enterprise, Developer ed Evaluation.

    Ad ogni modo, con esso, vengono create tabelle contenenti, per tipo di azione (il comando), le versioni dei record.

    Con una semplice query su queste taelle poi, puoi ricavare i contatori che ti servono.


    Alessandro Alpi SQL Server MVP

    giovedì 1 agosto 2013 07:31
    Moderatore
  • Quello che succede è riassunto da questa immagine:

    Come puoi vedere ogni operazione di una tabella sotto il controllo del CDC viene replicata all'interno di altre tabelle (che hanno una loro nomenclatura particolare) tramite un processo (job) di acquisizione che legge direttamente dal log prodotto. Ci sono alcune considerazioni da fare per il tuning delle performance, e ti consiglio di leggere qui.


    Alessandro Alpi SQL Server MVP

    • Contrassegnato come risposta SimoneN giovedì 8 agosto 2013 12:55
    venerdì 2 agosto 2013 08:30
    Moderatore

Tutte le risposte

  • Ciao,

    a partire da SQL Server 2008 hai il change data capture, che consente di tracciare inserimenti, cancellazioni e modifiche delle tabelle che vuoi gestire. L'unico problema è che è presente solo nelle versioni Enterprise, Developer ed Evaluation.

    Ad ogni modo, con esso, vengono create tabelle contenenti, per tipo di azione (il comando), le versioni dei record.

    Con una semplice query su queste taelle poi, puoi ricavare i contatori che ti servono.


    Alessandro Alpi SQL Server MVP

    giovedì 1 agosto 2013 07:31
    Moderatore
  • Ciao Alessandro,

    Ottima soluzione, secondo te potrebbe appesantire le operazioni ?

    Grazie

    Simone

    giovedì 1 agosto 2013 10:01
  • Quello che succede è riassunto da questa immagine:

    Come puoi vedere ogni operazione di una tabella sotto il controllo del CDC viene replicata all'interno di altre tabelle (che hanno una loro nomenclatura particolare) tramite un processo (job) di acquisizione che legge direttamente dal log prodotto. Ci sono alcune considerazioni da fare per il tuning delle performance, e ti consiglio di leggere qui.


    Alessandro Alpi SQL Server MVP

    • Contrassegnato come risposta SimoneN giovedì 8 agosto 2013 12:55
    venerdì 2 agosto 2013 08:30
    Moderatore