Suppression des données d'application obsolètes

Les grandes quantités de données contenues dans une base de données d'application Microsoft SQL Server Notification Services peuvent altérer les performances de deux façons. D'abord, les tables volumineuses peuvent faire baisser les performances des requêtes. Ensuite, lorsque les fichiers de données deviennent trop importants, SQL Server peut en augmenter automatiquement la taille, ce qui représente une grande consommation de ressources système.

Pour supprimer des données obsolètes des bases de données d'application, Notification Services utilise un processus appelé ramasse-miettes (Vacuumer). Il s'agit d'un processus qui s'exécute automatiquement pour chaque application en fonction d'une planification définie dans la définition d'application.

Lorsque vous définissez une application, vous spécifiez la période de conservation des données de l'application et la planification du ramasse-miettes. La période de conservation des données spécifie la durée minimale pendant laquelle les données d'événement et de notification ne peuvent pas être supprimées. Par exemple, une période de conservation d'une journée spécifie que seules les données de plus d'une journée peuvent être supprimées. La planification définit une ou plusieurs heures de début et durées pour le ramasse-miettes. Pour plus d'informations, consultez Configuration de la suppression de données.

Les données sont supprimées quantum par quantum, ce qui signifie que tous les événements et notifications traités pendant un quantum sont supprimés comme une unité unique.

Pendant l'exécution des applications, vérifiez que le processus de ramasse-miettes s'exécute conformément à la planification établie. Si le ramasse-miettes s'exécute mais que l'application nécessite une configuration de ramasse-miettes différente, modifiez la définition d'application en conséquence et mettez à jour l'application pour appliquer les modifications. Si nécessaire, exécutez manuellement le ramasse-miettes.

Vérification que le ramasse-miettes est en cours d'exécution

Il est nécessaire de vérifier périodiquement chaque application pour s'assurer que le ramasse-miettes s'exécute en fonction de la planification établie. Si de grandes quantités de données sont stockées dans la base de données d'application, les performances de l'application peuvent baisser et la base de données manquer d'espace disque. Notification Services fournit des procédures stockées et des compteurs de performances pour analyser les applications et, le cas échéant, le ramasse-miettes.

  • La procédure stockée NSSnapshotApplications retourne des données sur l'heure de la dernière exécution du processus de ramasse-miettes et sur le nombre de lignes d'événement et de notification supprimées.
  • L'objet de performance NS$instanceName: Vacuumer fournit des compteurs de performances concernant le traitement du ramasse-miettes. Analysez-les pour déterminer si le ramasse-miettes a dépassé le délai d'exécution et compter le nombre de quanta qui ont été ou qui sont sur le point d'être ramassés.

Le ramasse-miettes supprime les notifications uniquement si ces dernières ont été remises ou ne font pas l'objet de tentatives de reprise supplémentaires. Il supprime les événements uniquement si ces derniers ont été traités. Il supprime les quanta uniquement si les notifications et les événements qui lui sont associés ont été supprimés. Si des données supposées supprimées ne le sont pas encore, cela signifie qu'un certain nombre de données dépendantes ne peuvent pas encore être supprimées.

Modification de la planification du ramasse-miettes

Pour ajuster la planification de ramasse-miettes pour une application Notification Services, vous devez modifier la définition d'application et mettre à jour l'application pour appliquer les modifications à la base de données d'application. Pour plus d'informations sur la définition d'une planification de ramasse-miettes, consultez Configuration de la suppression de données.

ms166387.note(fr-fr,SQL.90).gifImportant :
Si vous modifiez la planification du ramasse-miettes, configurez la planification de telle sorte que le ramasse-miettes s'exécute à des périodes de faible activité du système. Le ramasse-miettes consomme des ressources système et peut provoquer des baisses de performances de l'application lorsqu'elle est en cours d'exécution.

Exécution manuelle du ramasse-miettes

En général, il est préférable de laisser le ramasse-miettes s'exécuter en fonction de la planification établie. Si le ramasse-miettes provoque des baisses de performances du système ou ne supprime pas suffisamment de données, modifiez la planification dans la définition d'application, puis mettez à jour l'application. Exécutez le ramasse-miettes manuellement uniquement si vous déterminez que l'exécution du ramasse-miettes ne respecte pas la planification et que vous devez supprimer des données pour des raisons d'espace ou de performances.

ms166387.note(fr-fr,SQL.90).gifImportant :
N'exécutez pas le ramasse-miettes manuellement pendant qu'il s'exécute ou s'il est planifié pour s'exécuter. Des erreurs d'application peuvent se produire, laissant des données obsolètes intactes. Consultez la définition d'application pour déterminer la planification du ramasse-miettes. Si la définition d'application ne contient pas de planification, l'application ne supprime pas automatiquement les données obsolètes.

Pour exécuter manuellement le ramasse-miettes, utilisez la procédure stockée NSVacuum, située dans la base de données d'application. Pour plus d'informations, consultez NSVacuum (Transact-SQL).

Voir aussi

Concepts

Configuration de la suppression de données
Mise à jour d'une application

Autres ressources

Vacuum Element (ADF)
NSVacuum (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005