Résolution de l'erreur "Data Foreign Key Constraint Validation for EndPointProtocolFilter" (Validation de la contrainte de clé étrangère de données pour EndPointProtocolFilter)
Lors de l'exécution de l'outil de préparation à la mise à jour avant une mise à niveau de Symantec Data Loss Prevention 14.6 vers la version actuelle, l'outil renvoie les résultats dans son fichier journal avec l'erreur ci-dessous.
Start: Data Foreign Key Constraint Validation - [date and time] Data violations are detected on your schema, please use the below query(s) to retrieve the invalid data. SELECT DISTINCT protocolFilterId AS "PROTOCOLFILTERID" FROM ENDPOINTPROTOCOLFILTER WHERE protocolFilterId IS NULL OR protocolFilterId NOT IN (SELECT acv.protocolFilterId FROM AgentConfigurationVersion acv WHERE acv.protocolFilterId IS NOT NULL); End : Data Foreign Key Constraint Validation - elapsed 0s - FAILED (1 violation)
Procédez comme suit pour résoudre l'erreur "Data Foreign Key Constraint Validation for EndPointProtocolFilter" (Validation de la contrainte de clé étrangère de données pour EndPointProtocolFilter) :
- Exécutez la commande suivante pour créer une sauvegarde des données :create table EndpointProtocolFilter_nomatch as select * from EndpointProtocolFilter where protocolFilterId not in (select acv.protocolFilterId FROM AgentConfigurationVersion acv where acv.protocolFilterId IS NOT NULL);
- Exécutez la commande suivante pour confirmer le nombre d'enregistrements :select count(*) from EndpointProtocolFilter where protocolFilterId not in (select acv.protocolFilterId FROM AgentConfigurationVersion acv where acv.protocolFilterId IS NOT NULL);
- Notez le nombre d'enregistrements.
- Exécutez la commande suivante pour supprimer les données qui entraînent l'échec de la mise à niveau :DELETE FROM EndpointProtocolFilter WHERE protocolFilterId NOT IN (SELECT acv.protocolFilterId FROM AgentConfigurationVersion acv WHERE acv.protocolFilterId IS NOT NULL);
- Confirmez que le nombre d'enregistrements supprimés correspond au nombre d'enregistrements que vous avez noté (voir étape 3). Si le nombre d'enregistrements ne correspond pas, contactez le service de support de Symantec.
- Exécutez la commande suivante pour terminer l'opération de suppression :commit;
- Exécutez la commande suivante pour confirmer que le nombre d'enregistrements correspond :select count(*) from EndpointProtocolFilter where protocolFilterId not in (select acv.protocolFilterId FROM AgentConfigurationVersion acv where acv.protocolFilterId IS NOT NULL);