---
sourceDocument: Brazil ServiceNow AI Platform Administration
sourceDocumentLink: https://www.servicenow.com/docs/r/platform-administration

 Release :

    - brazil

ft:locale :

    - en-US

ft:publication_title :

    - Brazil ServiceNow AI Platform Administration

ft:clusterId :

    - platadm

bundleId :

    - platadm

workflow :

    - Platform


---

# Deleting older or unwanted records in Data Management Console

# Deleting older or unwanted records in Data Management Console {#ariaid-title1}

Release version: Brazil  
Updated September 10, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read
Summarize  
![AI sparkle icon](https://servicenow.com/docs/portal-asset/ai-sparkle-icon) Summarized using AI  
This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.  

## Summary of Deleting older or unwanted records in Data Management Console

ServiceNow's Data Management Console enables automatic deletion of older, expired, or unwanted records from both core and custom tables using table cleanup rules.
This helps maintain optimal database performance and storage efficiency by regularly removing inactive or obsolete data.
Show full answer Show less  

## Key Features

* **Predefined and Custom Cleanup Rules:** The system includes default table cleanup rules which are listed in the Auto Flush \[sysautoflush\] table. You can also create and manage custom cleanup policies for specific tables via Data Management Policies.
* **Automated Scheduled Job:** The table cleaner runs hourly by default, executing cleanup queries based on defined rules to delete eligible records.
* **Rule Efficiency and Performance:** Query performance depends on proper indexing; slow queries (over 30 seconds) cause the table cleaner job to pause for a configurable waiting period before retrying, preventing disruption.
* **Disabling Cleanup:** Administrators can disable cleanup on specific tables by adding the Disable Table Cleaner attribute in the table dictionary, which is set by default on some internal system tables.
* **Support and Limitations:** Table cleaner rules support extension and shard tables (since Xanadu patch 5) but do not support tables with table rotation configuration. Legacy rules on rotated tables can be ignored.
* **Workflow Considerations:** Deletions via table cleaner bypass workflows, business rules, and flows, as DBDelete objects run with workflow=false. This means any logic dependent on these triggers will not execute during cleanup.

## Key Outcomes

* Efficient management and automatic deletion of outdated or unwanted records reduces database bloat and improves system performance.
* Administrators have visibility and control over cleanup rules and can tailor policies to their environment's needs.
* Awareness of performance impacts and limitations ensures cleanup jobs run smoothly without unintended workflow disruptions.
* Ability to disable cleanup on sensitive or critical tables safeguards important data from accidental deletion.  
Delete older, expired, or unwanted records from tables automatically.

Delete older, inactive records in core tables such as the Task \[task\] table and records in custom tables that you create on the ServiceNow AI Platform using table cleanup rules.  
There are several table cleanup rules included in the base system by default.

* You can view a list of all the table cleaner rules in the Auto Flush \[sys_auto_flush\] table by entering <kbd class="ph userinput">sys_auto_flush.list</kbd> in the filter navigator. The Auto Flush table displays rules for base system tables and their corresponding record ages.
* You can view a list of table cleaner rules defined on a single table by navigating to AllData Management Policies and selecting the data management policy record for the table, if it exists. The system automatically creates a data management policy record for any table that has an archive rule or table cleaner rule.
{#deleting-records__ul_anp_2w3_cbc}

## Slow rule handling {#deleting-records__section_myk_cly_mxb}

The table cleaner scheduled job runs once per hour (by default). When the table cleaner job runs, each table cleaner rule runs several queries as part of the process. If there's no index on a rule's match field or on significant
portions of its condition, rule processing can be slow because its queries are running inefficiently on large amounts of data.

If a table cleaner rule has a query that takes longer than 30 seconds to complete, the entire table cleaner job is stopped. By default, table cleaner waits two days before including that rule in the table cleaner job again, which
enables the table cleaner job to run without disruption in the meantime. You can configure the duration of the waiting period by adding a system property. See [Table cleaner properties](https://www.servicenow.com/docs/lRLw4yyVIiYqhcxOxUxUkw#r_SetArchiveRuleProcessingBehavior__section_qc1_sgy_mxb).

## Disabling table cleanup {#deleting-records__section_ypj_qsv_szb}

You can prevent an administrator from creating a table cleanup rule or running the table cleaner on a specific table by adding the Disable Table Cleaner attribute to the table's dictionary record. Some internal system tables have
the Disable Table Cleaner attribute added by default.

## Table cleanup limitations {#deleting-records__section_fgd_xwp_ktb}

* As of Xanadu patch 5, table cleaner rules defined in the Auto Flush \[sys_auto_flush\] table are supported for extension and shard tables. However, table cleaner rules aren't supported for tables configured with table rotation.

  When using the GlideTableCleaner scriptable directly, table cleaner rules aren't supported for tables configured with table rotation or table extension. Some tables in your instance might have legacy table cleaner
  rules that were established before table rotation was enabled. These legacy rules can be safely ignored.
* Performance depends on the size of the table and the conditions that you specify. For example, if you use a custom column without an index in a large table, performance is severely degraded. Performance also depends on the number of rows to be deleted.
* Table cleaner spends a maximum of 20 minutes to delete records from a single table. If queries are slow, the volume of records deleted in the 20-minute period may be small.
* Table cleaner doesn't call `DBDelete.setWorkflow()`. This means `DBDelete` objects run with `workflow=false` (false is the default value for a Java Boolean). As a result, business rules, workflows, and flows that you expected to trigger on record deletion won't trigger in the context of table cleaner. This is important to consider if you have business logic that depends on this type of functionality.
{#deleting-records__ul_gvk_gxp_ktb}

*[\>]: and then


