2017-01-06 198 views
0

同じサーバーの2つの異なるウィンドウで同じクエリを実行しています。 唯一の違いは、上記のエラーをスローしているクエリが一時テーブルに「インデックス」を持っていることです。'tempdb'データベースのトランザクションログが 'ACTIVE_TRANSACTION'のためにいっぱいです

一時テーブルのインデックスなしのクエリは正常に動作しています。インデックスがこのエラーの原因となる理由を説明してください。

+0

あなたのサーバーが一時デシベルでスペースクランチを持っていない場合を除き、こうであるべきではありません。 –

+0

アクティブなトランザクションがあります。 LOG BACKUP中に長期間実行されるトランザクションがあります。 –

+0

インデックスがある場合、SQL Serverはそれを維持する必要があります(データが変更された場合はそれをチェックして更新します)。これらのものはリソースを消費し、トランザクションの一部とみなされます。 – DVT

答えて

0

これはクエリによって異なります。 SQL Serverは、データ変更中にインデックスを維持する必要があります。これは、異なるタイムウェイトイベントであなたを運転することができます。

これを試してください:2つの異なるSQL Serverインスタンスで、クエリ実行中に実行中のセッションに何が起こっているかを確認してください。 この監視待ちイベントを実行して、単一SPIDの監視セッションを作成できます。

これは、これに私の完全な手順です:一般的にhttp://zaboilab.com/sql-server-toolbox/monitoring-wait-events-of-a-single-session-or-query

関連する問題