The SQL PI change‑tracking mechanism is designed to keep only 90 days of history.
If the purge process fails, the main table (pass_change_tracking_item) continues to grow.
Over time, this can cause:
This issue is frequently seen when more than one year of data accumulates without a successful purge.
pass_change_tracking_itemCollect the output from this SQL Query if working with Support
SELECT inserted_time, count(1) as cnt
from [dbo].[pass_change_tracking_item]
group by inserted_time
order by inserted_time
SELECT
t.NAME AS TableName,
SUM(a.total_pages) * 8 / 1024 AS TotalSpaceMB,
SUM(a.used_pages) * 8 / 1024 AS UsedSpaceMB,
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 / 1024 AS UnusedSpaceMB,
MAX(p.rows) AS RowCnt
FROM sys.tables t
INNER JOIN sys.partitions p ON t.object_id = p.OBJECT_ID
INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id
WHERE t.NAME = 'pass_change_tracking_item'
GROUP BY t.Name
SELECT inserted_time, count(1) as cnt from [dbo].[pass_ct_partitions_state] group by inserted_time order by inserted_time
SELECT
t.NAME AS TableName,
SUM(a.total_pages) * 8 / 1024 AS TotalSpaceMB,
SUM(a.used_pages) * 8 / 1024 AS UsedSpaceMB,
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 / 1024 AS UnusedSpaceMB,
MAX(p.rows) AS RowCnt
FROM sys.tables t
INNER JOIN sys.partitions p ON t.object_id = p.OBJECT_ID
INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id
WHERE t.NAME = 'pass_ct_partitions_state'
GROUP BY t.Name
recreate_ct_item_with_last_data.sql) which:
This avoids massive DELETE operations and safely reduces table size.
Note: Users must be logged into Supportlink to download this file.
recreate_ct_partitions_with_last_data.sql) which:
This avoids massive DELETE operations and safely reduces table size.
Note: Users must be logged into Supportlink to download this file.
If the environment is impacted repeatedly, you may disable change tracking temporarily until the fix is released. This will stop new data from being added to the Change Tracking table but it will not stop the purge process which requires manual assistance to help clear out the table.
Disabling change tracking is details in Knowledgebase article 4231553.
pass_change_tracking_item is not recommended.recreate_ct_item_with_last_data.sql) which safely retains the last 90 days, avoids long‑running DELETE operations, and prevents transaction log exhaustion. This method is the supported remediation and should be used instead of TRUNCATE.
R&D has logged defect FOG‑13132 to improve system behavior.
Planned improvements include:
Early Detection
Safer Purge Method
Better handling when change‑tracking data grows unexpectedly.
This enhancement will be included in a future release of the SQL Server cartridge.