データベースのldfファイルのサイズを縮小する方法がわかりません。
DBAは、backup log dbname with truncate_only
を使用する必要があると言っています
SQLクエリアナライザで正しく実行されたように見えますが、ldfファイルはまだ2Gbを超えています。
**いくつかのコメントと以下のいくつかの回答に基づく明確化***問題の特定のデータベースは、私のラップトップにあるデータベースであり、開発プロセスのみに使用しています。ログファイルは、ディスクがいっぱいになるように見えるところまで成長していました。生産上のリスクはありません。私が尋ねた質問の方法と私が受け入れた回答は、実稼働環境では危険であることを理解しています。*
ああ、ホラー!ログファイルを縮小するように人々に言うのはやめてください!
このような状況に陥った場合は、次のいずれかのケースが発生する可能性が非常に高くなります。
これらのそれぞれの答えは次のとおりです。
(1)の場合、データベースをシンプルモードに切り替えます
(2)の場合、定期的なログバックアップをスケジュールします
(3)の場合、スケジュールされたログのバックアップを修正します
(4)の場合は、それを行わないでください:)代わりに、より小さなバッチで作業を行ってください。
これらのうちどれも(非推奨)「truncate_onlyを使用したバックアップログdbname」を使用する必要があることに注意してください。
代わりに、上記の方法のいずれかを使用してログファイルをclear実行したら、(次は空の)ログを縮小します。
DBCC SHRINKFILE ('log logical name', 2000)
常に適切な最終サイズを指定してください。そうしないと、ほぼ0に縮小され、次に必要になったときに、成長するのに時間がかかることになります。
「truncate_onlyを使用したバックアップ」を実行した後、次のコマンドを発行して縮小する必要があります
dbcc SHRINKFILE (logfilename,shrink_tosize)
例えば
dbcc SHRINKFILE (mydatabase_Log,512)
上記で作成したスクリプトは、ログの内容に再利用のマークを付けます。そのスクリプトに従ってください:
USE <database>;
DBCC SHRINKFILE (<log logical file name>)
それはあなたのためにそれを縮小します。