.ldf
自分のファイルと同じフォルダにあるファイルを削除するとどうなり.mdf
ますか?
4 に答える
すでに指摘したように、.LDF ファイルは DB にとって重要であり、DB はそれなしでは使用できません。.LDF は、DB がオフラインであるか、デタッチされているか、SQL サービスが停止している場合にのみ削除できます。
上記の 3 つのシナリオのいずれかが当てはまり、.LDF ファイルを削除したと仮定すると、SQL サーバーの再起動時に DB が疑われます。DB がオフラインで、オンラインに戻そうとすると、エラーが発生します。
File activation failure. The physical file name "<<filename.ldf>>" may be incorrect.
Msg 945, Level 14, State 2, Line 1
Database '<<DB Name>>' cannot be opened due to inaccessible files or insufficient
memory or disk space. See the SQL Server errorlog for details.
Msg 5069, Level 16, State 1, Line 1
ALTER DATABASE statement failed.
このエラーを修正するのは非常に簡単ですが、DB に関連するすべてのメタデータをシステム ファイルから削除する必要があります。これを行う最も簡単な方法は、DB を削除することです。これがあなたがする必要があることです。
- DB をオフラインにするか、DB を切り離します
- .MDF ファイルのコピーをバックアップ ディレクトリに作成します。
- ここで DB を削除します (もちろん、デタッチした場合は、DB を再アタッチする必要があります)
- .MDF を元の場所にコピーします。
これらの手順の後、次を実行します。
SP_ATTACH_SINGLE_FILE_DB @dbname='<<DBName>>'
,@physname=N'<<filepath\filename.MDF>>'
これにより、次のように返されます。
File activation failure. The physical file name "<<Filepath\filename.ldf>>"
may be incorrect.
New log file '<<Filepath\filename.ldf>>' was created.
これにより、DB が使用可能な状態に戻ります。
100 万 $$$$ の疑問はまだ残っています。なぜ .LDF ファイルを削除したいのでしょうか?
ラージ
サイズを抑えるための最良の方法.LDF file
は次のとおりです。
- 少なくとも1日に1回、トランザクションログのバックアップを定期的に作成する。
- リカバリモデルをフルからシンプルに変更します(デフォルトでは、フル)