Par défaut Systancia Access n’intègre aucun plan de maintenance pour la base de données.
Cela peut être mis en place facilement via une requête SQL que nous allons exécuter tous les jours afin de purger les audits.
Avant de commencer, il est nécessaire de s’assurer que le service SQLSERVERAGENT démarre automatiquement sur le serveur de base de données:
Une fois cela effectué, nous allons nous connecter sur notre serveur SQL via SQL Server Management Studio
Nous allons ensuite créer un nouveau travail:
On nomme cette nouvelle tâche (par exemple ACCESS_DB_PURGE) puis nous allons dans l’onglet étapes.
On crée une nouvelle étape qu’on nomme PURGE avec la commande suivante:
use ACCESS /* METTRE LE NOM DE VOTRE BASE DE DONNÉE */
GO
DECLARE @retentionDays INT
/* Ajuter le nombre de jour de rétention des audits */
SET @retentionDays = 30
/* SIZE OF BATCH - DO NOT MODIFY */
DECLARE @batch INT
SET @batch = 10000
/* START OF COUNTER - DO NOT MODIFY */
DECLARE @cnt INT
SET @cnt = 0
/* NUMBER OF BATCHES - DO NOT MODIFY */
DECLARE @cntmax INT
SET @cntmax = 100
/* EXECUTION DE L ACTION */
WHILE @cnt < @cntmax
BEGIN
SET @cnt = @cnt + 1
DELETE TOP(@batch) FROM ssox_audit WHERE date_client < GETDATE() - @retentionDays /* ACTUAL DELETE QUERY - ADJUST */
END
On valide la création de l’étape puis on se rend sur l’onglet planification.
On définit la période quand l'on souhaite l'activation de cette tâche, dans cet exemple on définit qu'on souhaite l'exécuter tous les jours à 22h
Après l'exécution de la tâche, on peut voir que les audits qui ont plus de 30 jours d'ancienneté sont supprimés de la base: