web-dev-qa-db-ja.com

「 'ACTIVE_TRANSACTION'が原因で、データベース 'tempdb'のトランザクションログがいっぱいです。」一時テーブルにインデックスを追加した後

最近、データウェアハウス用にデータを準備するプロシージャに一時テーブルのインデックスをいくつか追加しました。テストデータベースでは、これらの手順のテストは正常に機能しましたが、クライアントのサーバーで実行すると、このエラーが原因で失敗し、サーバーを再起動する必要がありました。これはインデックスの追加に関連している可能性がありますか、それともまったく別の可能性がありますか?

クライアントのサーバーバージョン:

  • Microsoft SQL Server 2014(SP3)(KB4022619)-Windows NT 6.3(ビルド9600 :)上の12.0.6024.0(X64)Enterprise Edition(64ビット)(ハイパーバイザー)

サーバーバージョンのテスト:

  • Microsoft SQL Server 2014-Windows NT 6.3(ビルド9600 :)上の12.0.4100.1(X64)Developer Edition(64ビット)(ハイパーバイザー)
1
jindrich

一時テーブルで作成されたインデックスは、インデックスの構築中にtempdbトランザクションログの領域を使用します。そのため、そうです。一般的な意味では、インデックスが原因でログファイルに十分なトランザクションが追加され、領域が足りなくなった可能性があります。

インデックス操作のトランザクションログディスク領域

5
Tony Hinkle