2012-02-13 19 views
0

SQLデータベースからデータを削除した後、ログファイルに格納されたデータを削除したか、データベースから永久に削除されますか?ログファイルに格納されたSQL削除データまたはデータベースから永久に削除されたファイル

データベースログファイルからデータを削除するとサイズが大きくなるのはなぜですか?

それは、ファイルサイズを縮小するデータベースを縮小した後

編集1あなたの5行目::

あなたはDESCなぜincresedログファイルが、deleteコマンドを完了した後に、ディスク領域を解放されていない理由、レコードはそのままログファイルに保存されます。ログファイルに保存せずにデータを削除することは可能ですか?私は、ファイルから約2百万人のデータの近くに削除されたため、ログの動作を説明するように、

答えて

0

ので、ディスク16GBの容量をincresedます - それは縮小後のサイズを削減 - あなたはあなたのDBの単純復旧モデルを使用します。

そして

あなたが求める場合は、ログファイルに残って削除されたデータのいずれかのコピーがありませんがある - そのデータを回復する方法 - 何が任意の従来の方法はありません。

あなたは、データのセキュリティを求めると、削除されたデータを心配はDBのどこかに残っている場合 - はい、あります - ghosted recordsを参照してください。そして明らかに、いくつかのデータは、データとログの両方のDBファイルタイプからのサードパーティのツールによってリカバリすることができます。 SQL Serverがアトミック保証のために、すべての部分的に削除されたデータを復元する必要があります - それは削除DELETEまでのコマンドが終了されているすべてのデータを保持しているので、それが失敗した場合ので

デシベルログは、サイズによって増加されます。

追加の答え:

  • いいえ、すでに自動的に収縮しないで育ったログファイルので、ログファイル
  • に格納することなく、データを削除することはできません。 DB内のファイルのサイズを小さくしますが、いくつかのshrink operationsを実行する必要があるために、強く
  • 本番環境には推奨されません

の代わりに、このようなすべてのデータを削除する例を参照してください、小さなチャンクで削除しようとします:

DELETE FROM YourTable 

は小さな塊に削除します。

WHILE 1 = 1 
BEGIN 
    DELETE TOP (10000) FROM YourTable 
    IF @@ROWCOUNT = 0 BREAK 
END 
+0

を時間0でデータベーステーブルからデータを削除すると、tempdbとtemplogのサイズが分かります。なぜですか? – user847455

+0

不要です。 –

+0

質問の最新情報をご覧ください – user847455

関連する問題