2

1日に5回以上のデッドロックが発生しているお客様が1人います。170以上の他の顧客は、デッドロックをまったく受けません。デッドロックトレースを実装しましたが、デッドロックの選択/更新/挿入が発生しているのを確認できます。with(rowlock)ヒントを実装しました。これにより、最初のデッドロックが分類されました。しかし、それでも事態はさらに先に行き詰まります。

お客様がカスタムSQLを実行していることを発見しました。これにより、問題の一部が発生しましたが、すべてではありません。

私の質問は、顧客をSQLServer2000からSQLServer2008にアップグレードすることで問題が解決する可能性があるかどうかを誰かが知っているかどうかです。

ありがとう、

大佐

4

2 に答える 2

1

SQL 2000と2008のどちらを使用しても違いはないと思います。実際には、デッドロックを引き起こした原因を推論するだけで、デッドロックを解決できます。

于 2010-07-23T10:21:15.303 に答える
0

それは、なぜ彼らが現時点でデッドロックに陥っているのかによります。原因を調査せずに言うことは不可能です。

SQL2005/2008がSQL2000+に比べてこの分野で持ついくつかの利点は、デッドロックの可能性を排除できるスナップショットアイソレーションの導入と、デッドロックが発生している理由を突き止めるためのより優れた監視オプションです。

于 2010-07-23T10:32:06.457 に答える