2011-12-07 112 views
1

我有一個.NET應用程序,它將數據插入到SQL Server數據庫中,當應用程序負載很大時,用於插入新數據的SQL Server中的負載非常高。SQL Server的性能 - 插入

不時我得到的SQL Server日誌:在批量操作數據庫

時出錯。操作必須回滾。交易在鎖定時被鎖定。重複的鍵被忽略

是什麼意思尤其是:重複鍵被忽略?我有重複鍵部分不存在的日誌。

是否有這種問題的一般解決方案?

回答

1

Duplicate key was ignored是對IGNORE_DUP_KEY選項開啓索引並且嘗試插入重複值時發生的警告/信息性消息。

這本身並不是一個錯誤。看起來,如果實際發生後續錯誤,那麼進程只是將所有來自該流的消息寫入日誌,包括那些實際上與任何錯誤無關的消息。

我見過與SQL Server代理作業歷史類似的行爲。

+0

我確實有一個IGNORE_DUP_KEY被指定的表。所以這似乎解釋了這一點。我不知道這是否與「交易鎖定鎖死」或如果我可以做任何事情來改善事情有關。 – Ghita

+0

@Ghita - 不,它不會與僵局有任何關係。爲了解決死鎖問題,您最好捕獲死鎖圖。 –

+0

我該如何捕捉?任何文檔? Tnx – Ghita