Introducción
Este documento describe cómo resolver un problema relacionado con el mensaje de error "Violación de la restricción PRIMARY KEY 'XPKRegion'. No se puede insertar una clave duplicada en el objeto 'dbo.Region'. El valor de clave duplicada es (32xxx)" cuando se intenta ejecutar EDMT para actualizar Cisco Unified Contact Center Enterprise (UCCE) a la versión 11.0(1).
Colaboración de Michael Whittier, ingeniero del TAC de Cisco.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Cisco Unified Contact Center Enterprise (UCCE)
- SQL Server Management Studio
Componentes Utilizados
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). If your network is live, make sure that you understand the potential impact of any command.
Problema: EDMT 11.0 falla con un error de clave única
Durante el proceso de actualización de la base de datos, EDMT falla con este mensaje de error cuando hay regiones personalizadas agregadas a la versión anterior de UCCE.
"Infracción de la restricción PRIMARY KEY 'XPKRegion'. No se puede insertar una clave duplicada en el objeto 'dbo.Region'. El valor de clave duplicada es (32xxx)"
Para que EDMT finalice, puede quitar las entradas personalizadas de las tablas Region y Region_Member. Sin embargo, esto solo causa un problema referencial con la herramienta Explorador de regiones y se bloquea con este mensaje de error.
Log Name: Application
Source: Application Error
Date: 10/17/2016 10:08:49 AM
Event ID: 1000
Task Category: (100)
Level: Error
Keywords: Classic
User: N/A
Computer: SPRAWLER-A.mwhittie.lab
Description:
Faulting application name: conicrex.exe, version: 11.0.3297.2, time stamp: 0x55e7577b
Faulting module name: conicrex.exe, version: 11.0.3297.2, time stamp: 0x55e7577b
Exception code: 0xc0000005
Fault offset: 0x0006789a
Faulting process id: 0x3a88
Faulting application start time: 0x01d228885cc0473c
Faulting application path: C:\icm\bin\conicrex.exe
Faulting module path: C:\icm\bin\conicrex.exe
Report Id: 9acfe8d9-947b-11e6-80f0-000c29be7328
Faulting package full name
Faulting package-relative application ID:
Solución
Para resolver completamente el problema, todas las entradas anteriores a 32000 deben eliminarse manualmente de estas tablas.
- Región
- Miembro_de_región
- Vista_Región
- Region_View_Member
Estos son los pasos necesarios para realizar la tarea
Paso 1. Capture estas consultas para que tengan una copia de las entradas personalizadas
select * from Región donde RegionID >= 32000
select * from Region_Member where ParentRegionID >= 32000
select * from Region_View where RegionViewID >= 32000
select * from Region_View_Member where RegionViewID >= 32000
Paso 2. Después de copiar suprima las mismas entradas ejecutando estos comandos SQL
delete from Region donde RegionID >= 32000
delete from Region_Member where ParentRegionID >= 32000
delete from Region_View where RegionViewID >= 32000
delete from Region_View_Member where RegionViewID >= 32000
Paso 3. Continúe con la actualización de EDMT.
Paso 4. Después de la actualización agregar las regiones personalizadas de nuevo a través de la herramienta Explorador de regiones.
Nota: En un escenario en el que solo 2 de las tablas se eliminaron durante la actualización, entonces tendremos que limpiar las otras 2 tablas en ambas bases de datos del registrador y luego utilizar inicializar la base de datos local para actualizar el servidor de administración (AW), Después de que las regiones personalizadas se pueden agregar de nuevo a través de la herramienta del explorador de regiones.