我使用以下定义为 Teradata 标识列创建了一个表:
默认生成的 ID 整数作为身份 (从 1 开始 增加 1 最小值 0 最大值 100000000 无循环), ---- 唯一主索引 (ID)
几个月来,ID 列一直正常工作,自动为该列生成唯一值。然而,在过去的一个月里,ELMAH间歇性地从我们的 .NET 4.0 ASP.NET 应用程序中报告以下异常:
Teradata.Client.Provider.TdException: [Teradata Database] [2801] Duplicate unique prime key error in DATABASENAME.TABLENAME.
我能够通过打开 SQL 助手并使用原始 SQL 将一堆记录插入到表中来复制它。正如预期的那样,大多数时候它会成功插入,但其他时候它会抛出上述异常。
出现此错误的原因似乎是 Teradata 正在尝试为其先前生成的该列生成一个值。
有谁知道如何了解正在发生的事情?至少,我想要一些方法来更深入地调试这个问题。