Deletion of records that are more than 6 years old from all tables.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yesterday
I wanted to learn the best practice in ServiceNow for handling records older than 6 years, and I used Data Archiving to store those records.
Please tell another best way to delete the record
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hi @poonamkambl ,
When it comes to handling records older than 6 years in ServiceNow, you actually started with the right approach by using Data Archiving. In most cases, archiving is considered the best practice and is preferred over outright deletion.
Archiving helps reduce table size and improve performance while still keeping historical data available if it’s ever needed for audits, reporting, or compliance reasons. That’s why many organizations archive first and only consider deletion later, if policy allows.
If deletion is absolutely required, the safest approach is to use a scheduled job with scripted deletes, running in small batches. This avoids performance issues and gives you better control and traceability. It’s important to:
Apply very strict conditions (for example, closed records older than 6 years)
Delete in limited volumes per run
Run during off-peak hours
Log what’s being deleted
ServiceNow also has tools like Table Cleaner, but this should be used very carefully. It permanently deletes data, has no rollback, and can easily cause issues with reporting, references, or audits if used incorrectly. In most production environments, it’s either restricted or avoided altogether.
What’s generally not recommended is:
Manually deleting large numbers of records from list views
Running background scripts that delete huge volumes at once
Deleting data without understanding downstream dependencies or audit requirements
Before deciding to delete, it’s always good to ask:
Do we need this data for audits or compliance?
Is it referenced by other tables?
Will reports or dashboards break if it’s gone?
If this helps you then mark it as helpful and accept it as solution.
