0

既存のテーブルから新しいテーブルにレコードを挿入する必要があります。これを行うには、次のクエリを使用しました。

Insert into Newtable
Select * from Oldtable where date1 = @date

このクエリはほとんどの場合機能しますが、あるシナリオでは、date1 値に 1,000 万件のレコードが挿入されます。この場合、次のエラー メッセージが表示されます。

エラー : データベース「tempDB」のトランザクション ログがいっぱいです。ログ内のスペースを再利用できない理由を調べるには、sys.databases の log_reuse_wait_desc 列を参照してください。

クエリを分割して順番に挿入する必要がありますか、それとも現在のクエリでこれを行う方法はありますか?

4

1 に答える 1

1

これは、おそらく不快な提案です。ただし、データをファイルにエクスポートしてから、一括挿入を使用して挿入し、データベース ログを SIMPLE または BULK-LOGGED に設定することはできます。

詳細については、http://msdn.microsoft.com/en-us/library/ms190422.aspxを参照してください。

于 2012-06-28T21:30:32.013 に答える