0

以下のように DB SP UPDATEClientID を持っています。パラメータとしてクライアント ID を取ります。WCF カスタム アダプターから 1 秒間に 50 回 SP
を呼び出しています。UPDATEClientIDその後、SQL デッドロックの問題が発生しています。

私のシナリオでは、UPDATEClientID SP を 1 秒間に 50 回呼び出す必要があります。SQL デッドロックの問題を解決するには?

CREATE  PROCEDURE [dbo].[UPDATEClientID]
    @ClientID VARCHAR(50) = NULL

AS
BEGIN

    SET NOCOUNT ON;

    UPDATE  CleintDetails
    SET     STATUS = 'Y'
    WHERE   ClientID = @ClientID            

END
4

2 に答える 2

0

ストアド プロシージャ コードは、シリアル化可能な BizTalk サーバーの既定のトランザクション レベルで実行されます。read commit に変更します。

ストアド プロシージャで次のステートメントを使用して、トランザクション レベルを設定できます。

SET TRANSACTION ISOLATION LEVEL READ COMMITTED

于 2014-04-14T19:50:26.453 に答える
0

本当にこのストアド プロシージャ1 秒間に 50 回呼び出す必要がありますか? それとも、たまたま 1 秒間に 50 回呼び出すだけなのでしょうか?

いくつかのオプション:

  1. 送信ポートに指定配送を設定します。これにより、リクエストがシリアル化されます。ただし、数桁遅くなります。
  2. ROWLOCK などのロック ヒントを使用してステートメントを最適化します。
于 2014-04-14T15:48:56.803 に答える