Introdução
Este documento descreve como resolver um problema relacionado à mensagem de erro "Violação da restrição PRIMARY KEY 'XPKRegion'. Não é possível inserir chave duplicada no objeto 'dbo.Region'. O valor da chave duplicada é (32xxx)" ao tentar executar o EDMT para atualizar o Cisco Unified Contact Center Enterprise (UCCE) para a versão 11.0(1).
Contribuição de Michael Whittier, engenheiro do Cisco TAC.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Cisco Unified Contact Center Enterprise (UCCE)
- SQL Server Management Studio
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.
Problema: O EDMT 11.0 falha com erro de chave exclusiva
Durante o processo de atualização do banco de dados, o EDMT falha com esta mensagem de erro quando há regiões personalizadas adicionadas à versão anterior do UCCE.
"Violação da restrição PRIMARY KEY 'XPKRegion'. Não é possível inserir chave duplicada no objeto 'dbo.Region'. O valor da chave duplicada é (32xxx)"
Para que o EDMT seja concluído, você pode remover as entradas personalizadas das tabelas Region e Region_Member. No entanto, isso sozinho causa um problema de referência com a ferramenta Region Explorer e trava com essa mensagem de erro.
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:
Solução
Para resolver completamente o problema, todas as entradas acima 32000 ser removidas manualmente dessas tabelas.
- Região
- Membro_Região
- Exibição_Região
- Membro_Exibição_Região
Estas são as etapas necessárias para realizar a tarefa
Etapa 1. Capture essas consultas para ter uma cópia das entradas personalizadas
selecione * da região onde RegionID >= 32000
selecione * de Region_Member onde ParentRegionID >= 32000
selecione * em Region_View onde RegionViewID >= 32000
selecione * em Region_View_Member onde RegionViewID >= 32000
Etapa 2. Após copiar, delete as mesmas entradas executando esses comandos SQL
deletar da Região onde RegionID >= 32000
delete from Region_Member where ParentRegionID >= 32000
delete from Region_View onde RegionViewID >= 32000
delete from Region_View_Member where RegionViewID >= 32000
Etapa 3. Continue a atualização do EDMT.
Etapa 4. Após a atualização, adicione as regiões personalizadas de volta por meio da ferramenta Region Explorer.
Observação: em um cenário em que apenas 2 das tabelas foram removidas durante a atualização, precisaremos limpar as outras 2 tabelas em ambos os bancos de dados do logger e usar inicializar o banco de dados local para atualizar o Servidor de Administração (AW). Depois que as regiões personalizadas puderem ser adicionadas de volta por meio da ferramenta de exploração de região.