Configuration de la suppression de données

Lorsqu'une application Notification Services s'exécute, elle accumule des données dans les tables d'événements, de notifications et de distribution, ainsi que dans les tables de contrôle que les composants de Notification Services utilisent pour coordonner leurs opérations. Si ces données ne sont pas supprimées de la base de données d'application, elles peuvent faire croître fortement la base de données et dégrader les performances de l'application. Pour éviter cette situation, vous pouvez configurer un processus automatique de suppression des données appelé ramasse-miettes.

Processus de suppression des données

Le processus de suppression de données Notification Services est appelé ramasse-miettes. Le ramasse-miettes supprime les données obsolètes d'événements, de notifications et d'en-têtes de lot des tables suivantes de la base de données d'application :

  • NSQuantum1
  • NSRuleFirings1
  • NSEventClassNameEventBatches
  • NSEventClassNameEvents
  • NSNotificationClassNameNotificationBatches
  • NSNotificationClassNameNotifications
  • NSDistributorWorkItems
  • NSDistributionLog

Seuls les lots d'événements traités et les données pour les notifications envoyées, expirées ou ayant échoué sans nouvelle tentative de remise planifiée sont supprimés du système.

Le ramasse-miettes limite le nombre d'enregistrements qu'il supprime en même temps, en fonction d'un nombre maximal d'enregistrements par table. Cela limite la durée de chaque intervalle de suppression de données et permet au ramasse-miettes de fonctionner sans trop solliciter les ressources système et le temps de traitement de l'application.

ms171064.note(fr-fr,SQL.90).gifImportant :
La suppression de données consomme une quantité importante de ressources système de base de données. Exécutez le processus de suppression de données uniquement pendant les périodes de faible activité du système.

Période de conservation

Lorsque vous configurez le ramasse-miettes, vous spécifiez une période de conservation pour les données d'événements et de notifications. Lorsque le ramasse-miettes démarre, il lit l'horloge système sur le serveur de base de données, puis identifie toutes les données qui ont dépassé la période de conservation

Lorsque vous spécifiez la période de conservation, vous devez déterminer la durée pendant laquelle vous souhaitez conserver les données d'événements et de notifications. Comme la suppression de données supprime également les données du journal de distribution, veillez à effectuer toutes les actions nécessaires sur ces données avant que ces dernières soient plus anciennes que leur période de conservation.

La période de conservation par défaut est sept jours.

Planification

Lorsque vous configurez le ramasse-miettes, vous spécifiez également une planification selon laquelle il est exécuté. La planification peut contenir plusieurs heures de début et durées.

  • L'heure de début, définie en temps UTC (Coordinated Universal Time ou GMT (Heure de Greenwich)) spécifie le moment auquel le ramasse-miettes doit être exécuté.
  • La durée spécifie la durée pendant laquelle le ramasse-miettes doit être exécuté. La durée par défaut est six heures ou jusqu'à l'heure de début suivante.
ms171064.note(fr-fr,SQL.90).gifImportant :
Il n'existe pas de planification de suppression de données par défaut. Si vous ne spécifiez pas de planification de suppression de données, Notification Services ne supprimera pas les données anciennes de la base de données d'application.

Le ramasse-miettes vérifie une fois par minute pour savoir s'il doit s'exécuter. Un décalage pouvant atteindre une minute peut donc être constaté entre l'heure de début spécifiée et l'heure de début réelle.

À chaque fois que le ramasse-miettes termine une unité de travail, il vérifie l'horloge système pour voir s'il a dépassé la durée. Il contrôle également la base de données pour savoir si son application associée a été désactivée. Si l'un de ces événements se produit, le ramasse-miettes s'arrête, enregistre un message dans le journal des événements et reste inactif jusqu'à l'intervalle planifié d'exécution du ramasse-miettes suivant.

Lors de la détermination de la planification du ramasse-miettes, il est préférable de choisir les heures creuses de l'application et du serveur de base de données. S'il n'existe pas de périodes creuses, il peut être judicieux d'exécuter plus fréquemment le processus de suppression de données, afin de limiter la quantité de données supprimées pendant chaque période d'exécution du ramasse miettes et, par suite, réduire l'impact sur les performances de l'application.

Pour configurer le processus de suppression de données

Si vous définissez une application par le biais de XML, configurez la suppression de données dans le fichier de définition d'application (ADF). Si vous définissez une application par programme, utilisez Notification Services Management Objects (NMO) pour configurer la suppression de données.

Voir aussi

Concepts

Spécification des paramètres d'exécution d'une application
Suppression des données d'application obsolètes

Autres ressources

NSVacuum (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005