简介
本文档介绍如何解决与错误消息“Violation of PRIMARY KEY constraint 'XPKRegion”相关的问题。 无法在对象“dbo.Region”中插入重复键。 尝试运行EDMT将Cisco Unified Contact Center Enterprise(UCCE)升级到版本11.0(1)时,重复密钥值为(32xxx)”。
作者:Michael Whittier,思科TAC工程师。
先决条件
要求
Cisco 建议您了解以下主题:
- 思科统一联系中心企业版(UCCE)
- SQL Server Management Studio
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
问题:EDMT 11.0失败,出现唯一密钥错误
在数据库升级过程中,当UCCE早期版本中添加了自定义区域时,EDMT失败并显示此错误消息。
“违反主键约束'XPKRegion'。 无法在对象“dbo.Region”中插入重复键。 重复键值为(32xxx)”
要完成EDMT,可以从Region和Region_Member表中删除自定义条目。但是,仅此一项就会导致区域资源管理器工具出现参照问题,并会因此错误消息而崩溃。
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:
解决方案
要完全解决此问题,必须从32000些表中手动删除上述所有条目。
- 地区
- Region_Member
- Region_View
- Region_View_Member
以下是完成任务所需的步骤
步骤1.捕获这些查询,以获取自定义条目的副本
从RegionID >= 32000的区域中选择*
select * from Region_Member where ParentRegionID >= 32000
select * from Region_View where RegionViewID >= 32000
select * from Region_View_Member where RegionViewID >= 32000
步骤2.复制后通过执行这些SQL命令删除相同的条目
从RegionID >= 32000的区域中删除
delete from Region_Member where ParentRegionID >= 32000
delete from Region_View where RegionViewID >= 32000
delete from Region_View_Member where RegionViewID >= 32000
步骤3.继续EDMT升级。
步骤4.升级后,通过Region Explorer工具重新添加自定义区域。
注意:如果在升级期间只删除了2个表,则我们需要清除两个记录器数据库上的其他2个表,然后使用初始化本地数据库来更新Administration Server(AW)。在通过区域资源管理器工具添加自定义区域之后,可以重新添加自定义区域。