1

週に 1 回 (またはその程度)、マルチスレッド アプリケーション内で次のエラー メッセージが表示されます。

データベースには、'IX_MY_INDEX_NAME' という名前のオブジェクトが既に存在します。制約を作成できませんでした。

問題の SP は、次のように一時テーブルを作成します。

--removed for brevity
CREATE TABLE #MyTable
(
    [IndexId] INT UNIQUE IDENTITY (1, 1) NOT NULL,
    [WhateverId] INT NOT NULL,
    [CustomerId] INT NULL,
    [VendorId] INT NULL,
    CONSTRAINT IX_MY_INDEX_NAME UNIQUE (
        WhateverId,
        CustomerId,
        VendorId
    )
)
--removed for brevity

これが起こる原因は何ですか?上記のステートメントはアトミックではありませんか? 何か不足していますか?

4

2 に答える 2