This document describes the steps to fix the issue of large tables not purging data for the Logger in Unified Contact Center Enterprise (UCCE).
Cisco recommends that you have knowledge of these topics:
Structured Query Language (SQL)
This document is not restricted to specific software and hardware versions.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Logger B purges data when more than 80% capacity has been reached. The registry indicates that only 14 days must be stored, but it stores more than that.
The issue is caused by the large tables (Agent Event Detail, Call Type SG Interval, RCD, RCV and TCD) that have a higher number of days retained although the registry is configured for 14 days.
You can see this from icmdba checking Space Used Summary....
This happens if the stored procedure used to purge the large tables has a conflict in it, in this case it directs the procedure to use the database on the wrong Logger (LoggerA instead of LoggerB).
Step 1. Change the Retain period for the affected tables on the registry, to ensure only the oldest 10 - 20 days are purged (to avoid purging too much data on one go), i.e. HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems,Inc.\ICM\Customer_Instance\ LoggerX\Recovery\CurrentVersion\Purge\Retain\...
Step 2. Navigate to SQL Management Studio, Databases > <instancename>_sideB > Programmability > Stored Procedures, and for each of the DB tables affected (Agent Event Detail, Call Type SG Interval, RCD, RCV and TCD), right click and select Modify.
Step 3. Modify the line which starts with @key='SOFTWARE\Cisco Systems (where it says LoggerA you need to change to LoggerB) as shown in the image.
Step 4. In order to save the changes to the stored procedure on the Query menu, click Execute.
Step 5. Then, you can wait for the scheduled purge of large tables to happen at night (12:30AM), or re-schedule the purge job so it runs earlier. In order to re-schedule the purge jobs, from SQL Server Agent > Jobs, select the job to purge the affected tables, double click the job and this opens a new window, then navigate to Schedules, click Edit and change the time based on when you want the purge to happen as shown in the image.
Step 6. Once you have done the purge of the first oldest 14 days for each affected table, you can again follow step 1 to change Retain period to clear the oldest days, and Step 5 to purge the older data, until you keep the last 14 days on those tables.