NSVacuum (Transact-SQL)
Exécute manuellement le processus de ramasse-miettes, en supprimant des données obsolètes de la base de données d'applications. Si la planification de la fonction de ramasse-miettes en cours, telle qu'elle est définie dans le fichier de définition d'application (ADF), n'est pas adéquate, il convient de modifier cette planification et de mettre à jour l'application. L'exécution manuelle de la fonction de ramasse-miettes est recommandée uniquement lorsqu'elle s'avère absolument nécessaire (si, par exemple, la base de données manque d'espace disque disponible).
Important : |
---|
N'exécutez pas manuellement le processus de ramasse-miettes lorsque ce dernier est en cours d'exécution ou lorsque son exécution est planifiée. En effet, des erreurs d'application pourraient se produire, aboutissant à la suppression d'aucune donnée. |
Syntaxe
[ schema_name . ] NSVacuum
[@SecondsToRun = ] max_vacuuming_time
Arguments
[ @SecondsToRun =] max_vacuuming_time
Nom maximal de secondes d'exécution de la procédure stockée NSVacuum. Si le processus de ramasse-miettes supprime toutes les données avant ce laps de temps, la fonction de ramasse-miettes s'arrête à ce moment-là. Si le processus de ramasse-miettes n'est pas terminé dans ce délai, il s'arrête sans supprimer toutes les données obsolètes. Lors de la prochaine exécution de cette procédure stockée, le processus de ramasse-miettes reprend au point où il s'est précédemment arrêté. max_vacuuming_time est de type int et ne possède aucune valeur par défaut.
Notes
Microsoft SQL Server Notification Services crée la procédure stockée NSVacuum dans la base de données des applications lorsque vous créez l'instance. Lorsque vous mettez à jour l'application, Notification Services recompile la procédure stockée.
Cette procédure stockée se trouve dans le schéma de l'application, spécifié par l'élément SchemaName du fichier de définition d'application. Si aucun nom de schéma n'est spécifié, le schéma par défaut est dbo.
Utilisez la procédure stockée NSSnapshotApplications ou **NS$**instance_name : Objet de performance Vacuumer pour analyser le ramasse-miettes.
Autorisations
Les autorisations d'exécution reviennent par défaut aux membres des rôles de base de données NSRunService et NSVacuum, le rôle de base de données fixe db_owner et celui de serveur fixe sysadmin.
jeu de résultats
Nom de la colonne | Type de données | Description |
---|---|---|
État |
int |
État actuel du ramasse-miettes. Les valeurs possibles sont 0 (en cours d'exécution), 2 (achevé) et 3 (limite de temps excédée). Vous ne recevez pas la valeur 0 lors de l'exécution manuelle du ramasse-miettes. |
QuantumsVacuumed |
int |
Nombre de quanta correctement supprimés à partir de la base de données au cours de la période de fonctionnement en cours du ramasse-miettes. |
QuantumsRemaining |
int |
Nombre de quanta qui auraient pu être supprimés, mais qui ne l'ont pas été car la limite de temps a été dépassée. |
Exemples
L'exemple suivant exécute le processus de ramasse-miettes pendant cinq minutes. La procédure stockée (comme tous les autres objets de cette application) se trouve dans le schéma Stock, comme spécifié dans l'élément SchemaName du fichier de définition d'application.
EXEC dbo.NSVacuum
@SecondsToRun = 300;
Voir aussi
Référence
NSSnapshotApplications (Transact-SQL)
Autres ressources
Objet NS$instance_name: Vacuumer
Suppression des données d'application obsolètes
Vacuum Element (ADF)
SchemaName Element (ADF)