in

UGISS Community

Il sito della community dello User Group Italiano di SQL Server

Notifica dimensione log

Last post 07-10-2008 10.32 by DiegoAllera. 5 replies.
Page 1 of 1 (6 items)
Sort Posts: Previous Next
  • 06-30-2008 16.51

    • DiegoAllera
    • Top 25 Contributor
      Male
    • Joined on 10-20-2007
    • Belluno, IT
    • Posts 36
    • Points 575

    Notifica dimensione log

     Ciao a tutti,

    recentemente mi è successo che il file del log delle transazioni avesse riempito completamente il disco, impedendomi ogni tipologia di operazione fino al momento in cui ho liberato spazio su disco (mea culpa perchè da più di un anno non controllavo lo stato dei log!!!). 

    Ora per evitare problemi di questo genere avrei bisogno di implementare un sistema di notifica che tramite mail mi avvisi del fatto che ad esempio che il file di log ha superato un valore che io decido.

    Si può fare ? Che operazioni devo fare per scatenare l'evento di invio?

    Ciao e grazie.

    Diego

    Diego Allera
    Software Engineering
    Healt Care Department
    • Post Points: 20
  • 07-01-2008 18.03 In reply to

    • dmauri
    • Top 10 Contributor
      Male
    • Joined on 05-14-2007
    • Novate Milanese
    • Posts 1.162
    • Points 15.190

    Re: Notifica dimensione log

    Ciao Diego

    devi utilizzare il SQL Server Agent e configurare un "Alert".

    L'Alert deve essere di tipo "Performance Condition". In questa modalità puoi selezionare uno dei contatori messi a disposizione dal performance monitor, nella fattispecie il contatore "Log File Size" per il database che ti interessa, che trovi nell'oggetto "SQLServer:Databases"

    Un esempio di come configurare un Alert via script per un database di nome "LogSizeTest" è questo:

    USE [msdb]
    GO
    EXEC msdb.dbo.sp_add_alert @name=N'Log Size',
      @enabled=1,
      @delay_between_responses=0,
      @include_event_description_in=0,
      @performance_condition=N'SQLServer:Databases|Log File(s) Size (KB)|LogSizeTest|>|30720'
    GO

    E' cmq possibile configurare il tutto anche via Management Studio. Uno volta eseguito lo script qui sopra, puoi aprire l'Alert direttamente via Management Studio e fare un pò di prove. 


    Fatto ciò devi configurare l'operatore che vuoi notificare. Per questo ti rimando all'help, ma ovviamente se hai bisogno di una mano scrivi Smile

    http://msdn.microsoft.com/en-us/library/ms179336.aspx

    Davide Mauri
    Microsoft MVP - SQL Server, MCP, MCAD, MCDBA, MCT - http://www.davidemauri.it
    Socio Fondatore e Mentor di Solid Quality Learning Italy - http://www.solidq.com
    Presidente di UGISS: User Group Italiano Sql Server - http://www.ugiss.org
    • Post Points: 20
  • 07-04-2008 9.32 In reply to

    • DiegoAllera
    • Top 25 Contributor
      Male
    • Joined on 10-20-2007
    • Belluno, IT
    • Posts 36
    • Points 575

    Re: Notifica dimensione log

    Ciao Davide,

    è proprio quello che stavo cercando.

    Dunque ho già configurato Database Mail ed il test della mail di prova è andato a buon fine, quindi ho configurato l'alert seguendo le tue istruzioni, verifico effettivamente che l'alert solleva l'eccezione ma non ricevo nessuna mail.

    Ho creato un Operatore a posta che chiamo Alert Operator, specifico l'indirizzo di posta al quale volgio ricever la mail (che è quella con cui ho fatto il test) e assegno a quell'operatore l'alert creato.

    Dove sbaglio?

    Posto lo script del mio alert:

    EXEC msdb.dbo.sp_add_alert @name=N'Dimensione Log',
            @message_id=0,
            @severity=0,
            @enabled=1,
            @delay_between_responses=0,
            @include_event_description_in=1,
            @notification_message=N'Log oltre 1000 KB',
            @category_name=N'[Uncategorized]',
            @performance_condition=N'SQLServer:Databases|Log File(s) Size (KB)|AthenaFlexDB|>|1000',
            @job_id=N'00000000-0000-0000-0000-000000000000'
    GO
    EXEC ms

    Ciao.

    Diego Allera
    Software Engineering
    Healt Care Department
    • Post Points: 20
  • 07-04-2008 10.29 In reply to

    • dmauri
    • Top 10 Contributor
      Male
    • Joined on 05-14-2007
    • Novate Milanese
    • Posts 1.162
    • Points 15.190

    Re: Notifica dimensione log

    Il SQL Server Agent è avviato?

    Davide Mauri
    Microsoft MVP - SQL Server, MCP, MCAD, MCDBA, MCT - http://www.davidemauri.it
    Socio Fondatore e Mentor di Solid Quality Learning Italy - http://www.solidq.com
    Presidente di UGISS: User Group Italiano Sql Server - http://www.ugiss.org
    • Post Points: 20
  • 07-04-2008 11.13 In reply to

    • DiegoAllera
    • Top 25 Contributor
      Male
    • Joined on 10-20-2007
    • Belluno, IT
    • Posts 36
    • Points 575

    Re: Notifica dimensione log

     Si SQL Server Agent è avviato, ma controllando i log vedo che ho ricevuto il seguente allarme:

     [264] An attempt was made to send an email when no email session has been established
     

    il che mi fa pensare che ho commesso qualche errore nella configurazione della e-mail per l'operatore...

    Diego Allera
    Software Engineering
    Healt Care Department
    • Post Points: 5
  • 07-10-2008 10.32 In reply to

    • DiegoAllera
    • Top 25 Contributor
      Male
    • Joined on 10-20-2007
    • Belluno, IT
    • Posts 36
    • Points 575

    Re: Notifica dimensione log

    Finalmente ce l'ho fatta!

    Dunque l'errore che commettevo era sulle proprietà di SQL Server Agent per l'opzione Alert System: infatti non avevo abilitato Enable mail profile, una volta abilitata specificando il tipo di mail system e il profilo tutto è andato per il meglio. Inoltre bisogna ricordarsi di riavviare SQL Server Agent una volta modificate tale impostazioni (vedi link http://msdn.microsoft.com/en-us/library/ms186358.aspx).

    E quindi grazie ancora!!!

    Diego Allera
    Software Engineering
    Healt Care Department
    • Post Points: 5
Page 1 of 1 (6 items)
(C) 2007 User Group Italiano di SQL Server