Rimozione di dati dell'applicazione obsoleti
Grandi quantità di dati in un database dell'applicazione Microsoft SQL Server Notification Services possono rallentare le prestazioni in due modi. Anzitutto, tabelle di ampie dimensioni possono ridurre le prestazioni delle query. Inoltre, quando aumentano le dimensioni dei file di dati, è possibile che SQL Server aumenti automaticamente le dimensioni del file, operazione che comporta un utilizzo significativo delle risorse di sistema.
Per eliminare i dati obsoleti dai database dell'applicazione, Notification Services utilizza un processo denominato rimozione dei dati. Tale processo viene eseguito automaticamente per ogni applicazione in base a una pianificazione definita nella definizione dell'applicazione.
Quando si definisce un'applicazione, si specifica il periodo di memorizzazione dei dati dell'applicazione e la pianificazione della rimozione dei dati. Il periodo di memorizzazione dei dati è il periodo minimo in corrispondenza del quale i dati degli eventi di notifica possono essere rimossi. Ad esempio, un periodo di memorizzazione di un giorno specifica che i dati non possono essere rimossi finché non abbiano almeno un giorno. La pianificazione di rimozione dei dati specifica uno o più momenti di avvio e valori di durata per la rimozione dei dati. Per ulteriori informazioni, vedere Configurazione della rimozione dei dati.
I dati vengono rimossi quantum per quantum, ovvero tutti gli eventi e le notifiche elaborati durante un quantum vengono rimossi come unità.
È necessario assicurarsi che durante l'esecuzione delle applicazioni, anche il processo di rimozione dei dati sia in esecuzione. Se la rimozione dei dati è in esecuzione, ma per l'applicazione tale processo richiede una configurazione diversa, è possibile aggiornare la rimozione dei dati modificando la definizione dell'applicazione e aggiornando l'applicazione per applicare le modifiche. Se necessario, è possibile eseguire la rimozione dei dati manualmente.
Verifica che la rimozione dei dati sia in esecuzione
Per ogni applicazione, è consigliabile eseguire controlli periodici per assicurarsi che la rimozione dei dati (Vacuumer) venga eseguita in base alla pianificazione stabilita. L'accumulo di una grande quantità di dati nel database dell'applicazione potrebbe causare un peggioramento delle prestazioni e l'esaurimento dello spazio su disco disponibile per il database. Notification Services include stored procedure e contatori delle prestazioni per il controllo delle applicazioni, utilizzabili per verificare la rimozione dei dati.
- La stored procedure NSSnapshotApplications restituisce i dati relativi all'ultima esecuzione della rimozione dei dati e al numero di righe di notifica e di evento rimosse.
- L'oggetto prestazione NS$instanceName: Vacuumer rende disponibili i contatori delle prestazioni pertinenti al processo di rimozione dei dati. È possibile monitorare tali contatori per verificare se il componente Vacuumer ha raggiunto il valore di timeout e per determinare il numero di quantum rimossi o pronti per la rimozione.
Le notifiche vengono rimosse dal processo di rimozione dei dati solo se sono state recapitate o se sono stati esauriti i tentativi disponibili. Gli eventi vengono rimossi solo se sono già stati elaborati. I quantum vengono rimossi solo se sono stati rimossi gli eventi e le notifiche a essi associati. Se non vengono rimossi tutti i dati che si prevede debbano essere rimossi, è probabile che qualche dato dipendente non possa essere rimosso.
Modifica della pianificazione della rimozione dei dati
Per regolare la pianificazione della rimozione dei dati per un'applicazione Notification Services, è necessario modificare la definizione dell'applicazione e quindi aggiornare l'applicazione per applicare le modifiche al database dell'applicazione. Per ulteriori informazioni sulla definizione di una pianificazione della rimozione dei dati, vedere Configurazione della rimozione dei dati.
Importante: |
---|
Se si modifica la pianificazione della rimozione dei dati, è necessario configurarla in modo che venga eseguita in momenti di ridotta attività del sistema. Questa operazione comporta un utilizzo delle risorse di sistema, pertanto durante l'esecuzione del componente Vacuumer si potrebbe verificare un peggioramento delle prestazioni. |
Esecuzione manuale della rimozione dei dati
In generale è consigliabile lasciare che la rimozione dei dati venga eseguita secondo la pianificazione. Se la rimozione dei dati determina un rallentamento delle prestazioni del sistema oppure non vengono rimossi dati sufficienti, modificare la pianificazione nella definizione dell'applicazione e quindi aggiornare l'applicazione. È consigliabile eseguire manualmente la rimozione dei dati solo se si rileva che tale operazione non è stata eseguita in base alla pianificazione prevista ed è necessario rimuovere i dati per motivi di spazio o di prestazioni.
Importante: |
---|
Non eseguire il componente Vacuumer manualmente se è in esecuzione o se la pianificazione ne prevede l'esecuzione. In caso contrario, si potrebbero verificare errori dell'applicazione e pertanto i dati obsoleti non verrebbero rimossi. Esaminare la definizione dell'applicazione per determinare la pianificazione della rimozione dei dati. Se la definizione dell'applicazione non include una pianificazione per la rimozione dei dati, l'applicazione non rimuove automaticamente i dati obsoleti. |
Per eseguire manualmente la rimozione dei dati, utilizzare la stored procedure NSVacuum, inclusa nel database dell'applicazione. Per ulteriori informazioni, vedere NSVacuum (Transact-SQL).
Vedere anche
Concetti
Configurazione della rimozione dei dati
Aggiornamento di un'applicazione
Altre risorse
Vacuum Element (ADF)
NSVacuum (Transact-SQL)