1. ホーム
  2. sql-server

[解決済み] SQL Server でクエリタイムアウトを強制する

2023-06-10 01:46:13

質問

遅いデータベースに直面すると反応が悪くなるコード ブロックに問題がありました (クエリ タイムアウトでベッドを台無しにします)。私たちはパッチを作成し、リグレッションを通してそれを実行しているところです。

タイムアウトを得ることができません。SQL Mgmt Studio からトランザクションを開き、すべての行を更新してロックしましたが、INSERT をタイムアウトさせることはできませんでした (これは私が必要としていることです)。

T-SQL を介して簡単にテーブルレベルのロックを得ることができますか?あるいは、master でいじくり回す必要がありますか? または、ロックせずにタイムアウトを強制することは可能ですか? どんな意見でも結構です。

どのように解決するのですか?

これを実行し、挿入を試してみてください...

select * from yourTable with (holdlock,tablockx)

ここで、5分間ロックすることができます。

BEGIN TRANSACTION

SELECT * FROM yourTable WITH (TABLOCKX, HOLDLOCK)

WHERE 0 = 1

WAITFOR DELAY '00:05'

ROLLBACK TRANSACTION