Defining the <Vacuum> Node
The Notification Services vacuumer function deletes obsolete event, notification, and batch header data from the system. It operates automatically, according to the information specified in the <Vacuum> element of the <ApplicationExecutionSettings> node. It runs based on the intervals specified in the <Schedule> element, and uses the <RetentionAge> value to determine what data is expired and available for deletion.
Vacuuming is essential because it reclaims disk space. By keeping the number of records in the system to a minimum, it also improves the speed with which SQL Server can search the application tables.
The following tables are vacuumed:
There is one vacuumer per application.
In general, it is best to schedule the vacuumer to operate at low usage times for your application. You can tune the vacuuming intervals to suit the needs of your application. Less frequent or shorter vacuuming intervals decrease the vacuumer's use of system resources, but also lead to an increase in disk space requirements to accommodate the expired but unremoved data. Lack of vacuuming can also degrade application performance, as table sizes increase and extend the length of time needed to perform database operations on them.
The default <RetentionAge> value is P7DT0H or 1 week.
All /VacuumSchedule/Schedule/StartTime values must be specified in UTC format.
The default /VacuumSchedule/Schedule/Duration value is 6 hours, or until the next schedule start time, whichever comes first. For more information about setting the vacuumer schedule, see Running the Vacuumer.
The following example shows how to create a <Vacuum> node. It specifies that vacuuming runs from 3:00 A.M. to 5:00 A.M. and from 11:00 P.M. to 1:00 A.M. every day, removing data older than 3 days.
<ApplicationExecutionSettings> ... <Vacuum> <RetentionAge>P3DT00H00M00S</RetentionAge> <VacuumSchedule> <Schedule> <StartTime>23:00:00</StartTime> <Duration>P0DT02H00M00S</Duration> </Schedule> <Schedule> <StartTime>03:00:00</StartTime> <Duration>P0DT02H00M00S</Duration> </Schedule> </VacuumSchedule> </Vacuum> </ApplicationExecutionSettings>