0

SSISのロード中に、従業員テーブルが更新されると、ロックが有効になります。

ただし、次のステートメントを使用して、テーブルのロックエスカレーションを無効にしました。

  1. ALTER TABLE dbo.Employee SET (LOCK_ESCALATION = DISABLE)
  2. DBCC TRACEON (1211,-1)

ただし、テーブル(オブジェクト)はロックされ、ほぼ1時間保持されます。総数 更新(挿入、更新、削除ステートメント)の数は約200,000です

ここでの最終的な目的は、実際にはロックを回避することではなく、テーブルの読み取りを正常に許可することです。

いいえ。更新(挿入/更新/削除)の数は、ロックが原因で実際​​に影響を受けているテーブルの検索/選択クエリが約50〜100であるのに対し、毎日50,000の範囲で非常に高くなっています。

4

1 に答える 1

0

BOLから:

SET LOCK_ESCALATION = DISABLE

ほとんどの場合、ロックのエスカレーションを防ぎます。テーブルレベルのロックは完全に禁止されているわけではありません。たとえば、シリアル化可能な分離レベルでクラスター化インデックスがないテーブルをスキャンする場合、データベースエンジンは、データの整合性を保護するためにテーブルロックを取得する必要があります。

Serializableは、SSISパッケージのデフォルトのIsolationLevelです(制御フローの空白の領域をクリックして、パッケージのプロパティを確認してください)。テーブルにクラスター化インデックスがない変更はありますか?

于 2012-04-10T12:04:28.070 に答える