2011-12-07 13 views
1

SQL Serverデータベースにデータを挿入する.NETアプリケーションがあり、アプリケーションの負荷が大きいときに新しいデータを挿入するSQL Serverの負荷が非常に高いです。SQLサーバーのパフォーマンス - 挿入

時々私は、SQL Serverのログに取得する:

エラーがバルク操作データベース中に発生しました。操作をロールバックする必要がありました。ロック時にトランザクションがデッドロックしました。重複するキーは無視されました

特にそれは何を意味しますか?重複するキーは無視されました?重複するキー部分が存在しないログがあります。

この種の問題の一般的な解決法はありますか?

答えて

1

Duplicate key was ignoredは、インデックスのIGNORE_DUP_KEYオプションがオンで、重複する値を挿入しようとしたときに発生する警告/情報メッセージです。

それはエラーではありません。後続のエラーが実際に発生した場合、プロセスは実際にはエラーに関係しないものを含めて、そのストリームからすべてのメッセージをログに書き込んでいるだけです。

SQL Serverエージェントのジョブ履歴と同様の現象が見られました。

+0

私は本当にIGNORE_DUP_KEYが指定されたテーブルを持っていました。それはそれを説明するようです。私はこれが "取引がロックでデッドロックされていた"とか、何かを改善するために何かできるかどうかと何かが関係しているのだろうかと思います。 – Ghita

+0

@Ghita - いいえ、デッドロックとは関係ありません。デッドロックのトラブルシューティングを行うには、デッドロックグラフをキャプチャすることをお勧めします。 –

+0

どうすればそれをキャプチャできますか?どんなドキュメンテーションですか? Tnx – Ghita

関連する問題