毎月、運用データベースの月末のスナップショットを作成しています。これらの月末のスナップショットは、レポート作成のみを目的としており、挿入、更新、削除は行われていません。これらの各スナップショットには、.MDF
および.LDF
ファイルがあります。
.LDF
ファイルを削除して、サーバーの空き容量を増やしたいです。 .LDF
ファイルを保持する必要がある理由はありますか?
説明:
本番データベースは、別のシステムからのファイル抽出から毎晩再作成されます。本番データベースからのレポートのみです...更新は行われません。
夜間処理:
私が言えることから...
データベーステーブルは毎晩切り捨てられます
テーブルは一連の一括挿入ステートメントを介して入力されます
インデックスが再構築されます
ログファイルは削除しないでください。ログなしでデータファイルを再アタッチしようとすると、SQL Serverは技術的にそれを再作成できますが、データベースがデタッチされたときに開いているトランザクションがあった場合など、いくつかの潜在的な問題があります。その場合、データが完全に失われます。
スペースを消費し、ログファイルを削除しないでください。あなたはそれでトラブルを求めています。
トランザクションログに関するこの記事 、特に「ログの管理不良」の部分を参照してください。
別の答え で述べたように、ログファイルを削除することはできません。あなたができることは、データベースをREAD_ONLY
に設定することです。データベースがREAD_ONLY
にある場合、変更は許可されず、ログファイルは拡張されません。ログファイルのサイズを最小サイズに減らし、最小の設置面積という目標を達成できます。 READ_ONLY
にデータベースを設定するには、次のコマンドを実行します。
USE master;
GO
ALTER DATABASE databasename SET READ_ONLY;
GO
データベースを変更してREAD_WRITE
に戻し、必要な変更を加え、必要なときにいつでもREAD_ONLY
に設定できます。
ログファイルは、データベースのACIDプロパティを維持するために必要です。
実際には、mdfファイルを使用するだけでデータベースを作成できます。 sp_attach_single_file_db (Transact-SQL)コマンドです。 Microsoft SQL Serverの将来のバージョンでは削除されることに注意してください。しかし、LDFファイルを削除するのは賢明ではありません。サメは正解です。「あなたはそれについてトラブルを求めています」。別の観点-あなたのldfファイルは巨大ですか?もしそうなら、あなたはそれらについて何かをすることができます。