本当に.LDFファイルを保持する必要がありますか?


9

毎月、本番データベースの月末のスナップショットを作成しています。これらの月末のスナップショットは、レポート作成のみを目的としており、挿入、更新、削除は行われていません。これらの各スナップショットには、.MDFand .LDFファイルがあります。

.LDFファイルを削除してサーバーの空き容量を増やしたい。.LDFファイルを保持する必要がある理由はありますか?

明確化:

本番データベースは、別のシステムからのファイル抽出から毎晩再作成されます。本番データベースからのレポートのみです...更新は行われません。

毎晩のプロセス:
私が言えることから...
毎晩、データベーステーブルは切り捨てられ
ますテーブルは、一連の一括挿入ステートメントを介して入力
されますインデックスは再構築されます

回答:


16

ログファイルは削除しないでください。ログなしでデータファイルを再アタッチしようとすると、SQL Serverは技術的にデータファイルを再作成できますが、データベースがデタッチされたときに開いているトランザクションがあった場合など、いくつかの潜在的な問題があります。その場合、データが完全に失われます。

スペースを消費し、ログファイルは削除しないでください。あなたはそれでトラブルを求めています。

トランザクションログに関するこの記事、特に「ログの誤管理」の部分を参照してください。


9

別の回答で述べたように、ログファイルを削除することはできません。あなたができることは、データベースをに設定することREAD_ONLYです。のデータベースでREAD_ONLYは、変更は許可されず、ログファイルは大きくなりません。ログファイルのサイズを最小サイズに減らし、最小の設置面積という目標を達成できます。データベースを設定するにREAD_ONLYは、次のコマンドを実行します。

USE master;
GO
ALTER DATABASE databasename SET READ_ONLY;
GO

データベースをに戻しREAD_WRITE、必要な変更を加え、必要なREAD_ONLYときにいつでも設定できます。

ログファイルは、データベースのACIDプロパティを維持するために必要です。


2

実際には、mdfファイルを使用するだけでデータベースを作成できます。これは、sp_attach_single_file_db(Transact-SQL)コマンドです。Microsoft SQL Serverの将来のバージョンでは削除されることに注意してください。しかし、LDFファイルを削除するのは賢明ではありません。サメは正解です。「あなたはその問題を求めています」。別の観点-あなたのldfファイルは巨大ですか?もしそうなら、あなたはそれらについて何かをすることができます。

  1. データベースを単純復旧モデルに設定します。トランザクションをロールバックしたくない場合にのみ、これを実行できます。
  2. MDFファイルとLDFファイルを作成する代わりに、完全データベースバックアップ(.BAK)ファイルを作成します。小さいtnan MDF + LDFになります

-3

これが、LDFファイルを圧縮するために思いついたソリューションです。

  1. データベースを切り離す
  2. LDFファイルの名前を* _old.ldfに変更します。
  3. データベースをアタッチ
  4. 不足しているLDFへの参照を削除する

これにより、サイズが504KのLDFファイルが再作成されます。

  1. * _old.ldfを削除します
  2. 空のごみ箱

これにより、サーバー上のかなりの量のディスク領域が解放されました。これらのデータベースはすべて静的レポートデータベースのみであるため、問題なく機能します。これらのデータベースに対して挿入、更新、削除は実行されません。

アップデート2019-09-24:ええ、私はこれが本当に悪い考えだと同意します。これをすぐにやめました。100のFILLFACTORを使用してすべてのインデックスを再構築しました。.ldfファイルのみを縮小しました。また、すべてのデータベースを読み取り専用に変更しました。


6
うわー、これは本当に悪い考えです。データベースが正常にデタッチされない場合、または1〜3のどこかで失われたり壊れたりした場合はどうなりますか?あなたはねじ込まれています。データベースのコピーがゼロです。
アーロンバートランド

3
これを行う適切な方法は次のとおりです。1.データベースのCOPY_ONLYバックアップを作成します。2.レポートサーバーに復元します。3.リカバリをシンプルに設定し、復元されたコピーを読み取り専用としてマークします。4.ログファイルを手動で圧縮します。はい、その間はスペースが必要ですが、仕事を続けることができます!
アーロンバートランド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.