我有一个.NET应用程序,它在SQL Server数据库中插入数据,并且当应用程序负载很大时,SQL Server中用于插入新数据的负载非常高。
我不时会进入SQL Server日志:
批量操作数据库期间发生错误。操作必须回滚。交易在锁定时陷入僵局。重复密钥被忽略
这意味着什么:重复密钥被忽略?我有没有重复键部分的日志。
这种问题是否有一般解决方案?
答案 0 :(得分:1)
Duplicate key was ignored
是警告/信息性消息,当索引启用IGNORE_DUP_KEY
选项并且尝试插入重复值时会发生此消息。
这本身并不是一个错误。似乎如果实际发生后续错误,则该进程只是将该流中的所有消息写入日志,包括那些实际上与任何错误无关的消息。
我已经看到过与SQL Server代理作业历史记录类似的行为。