Data Domain: DD Boost: DDBMEXPTOOL does not delete expired data when -N is used
Summary: DD Boost for Enterprise Applications: DDBMEXPTOOL does not delete expired data when the -N parameter is used.
Symptoms
Backups are not all deleted even though they are expired.
A { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; } a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; }
The process completes successfully when running DDBPEXPTOOL or an SQL job; however, some backups remain, preventing the Data Domain system from being fully cleaned.
USE [master]
GO
DECLARE @returnCode int
EXEC @returnCode = dbo.emc_run_delete '-e "1 days ago" -k -n mssql -a "DDBOOST_USER = DDBOOST_USER" -a "DEVICE_HOST = DD_HOSTNAME " -a "DEVICE_PATH = /STorage_UNIT" -a "CLIENT = CLient_name" -N "BAckup_Name "'
ddbmexptool -k [-v -D 9 -b <start_save_time> -e <end_save_time> -N <save_set_name>] {-z <config_file> | -a "parameter=value"} -n <application>
When using the following command:
ddbmexptool -k [-v -D 9 -b <start_save_time> -e <end_save_time> {-z <config_file> | -a "parameter=value"} -n <application>
Or the T-SQL without the -N parameter.
USE [master]
GO
DECLARE @returnCode int
EXEC @returnCode = dbo.emc_run_delete '-e "1 days ago" -k -n mssql -a "DDBOOST_USER = DDBOOST_USER" -a "DEVICE_HOST = DD_HOSTNAME " -a "DEVICE_PATH = /STorage_UNIT" -a "CLIENT = CLient_name" '
The expired data is deleted as expected.
Cause
a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; }
The delete command filters backups by name and removes only those that match the -N "Backup_Name" criteria.
-N specifies an exact match, not a partial match. Specifying -N "Backup_Name" ignores anything with a database name appended onto the end.
In the list command returning all the backups made because it did not add a save set name filter:
USE [master]
GO
DECLARE @returnCode int
EXEC @returnCode = dbo.emc_run_delete '-e "1 days ago" -k -n mssql -a "DDBOOST_USER = DDBOOST_USER" -a "DEVICE_HOST = DD_HOSTNAME " -a "DEVICE_PATH = /STorage_UNIT" -a "CLIENT = CLient_name"'
Resolution
Run the expiry tool or the Maintenance T-SQL Transcript without specifying the -N parameter:
USE [master]
GO
DECLARE @returnCode int
EXEC @returnCode = dbo.emc_run_delete '-e "1 days ago" -k -n mssql -a "DDBOOST_USER = DDBOOST_USER" -a "DEVICE_HOST = DD_HOSTNAME " -a "DEVICE_PATH = /STORAGE_UNIT" -a "CLIENT = Client_name" '
ddbmexptool -k [-v -D 9 -b <start_save_time> -e <end_save_time> {-z <config_file> | -a "parameter=value"} -n <application>