2017-09-20 9 views
1

私は組織で働き、ログファイルを縮小できない問題が発生しました。 SQLサーバーデータベースは、600 GBのハードディスクドライブのうち400 GBを消費しています。 ログファイルのサイズは約350 GBです。SQL Serverのログファイルを縮小するとファイルサイズは変更されません

ログファイルを縮小しようとしましたが、サイズは変わりません。 私のデータベースの復旧モデルはSIMPLEです。

私は、ログファイルのバックアップをとってから縮小しようとする提案があるオンライン投稿を行っています。しかし、ログバックアップを保存するにはドライブに十分な空き容量がありません(注:私のシステムでドライブし、私は外付けドライブにバックアップをとるべきではありません)。

この全体のDBを別のドライブに移動すると役立ちますか? すべてのソリューション?

+2

'SELECT log_reuse_wait_desc FROM sys.databases'です。また、SMSSから 'DBCC SHRINKFILE'を発行し(GUIではなくスクリプト化されています)、どのメッセージが表示されるかを確認してください。ログファイルを縮小できない場合は、その理由を説明します。 –

答えて

0

オープントランザクションがあります。すべての接続を終了して、もう一度試してください。

0

ログファイルを縮小しようとしましたが、サイズは変わりません。私のデータベースの修復モデル は単純です。

ログファイルを バックアップして縮小しようとする提案があるオンライン投稿を行っています。

dbがSIMPLEの場合、ログバックアップはできません。

代わりに、あなたは1回以上発行する必要があります:log_reuse_wait_descNOTHING/CHECKPOINTを示したときに

CHECKPOINT; DBCC SHRINKFILE... 

これは場合に役立ちます。

それが何かを示していた場合は、データベースがSIMPLEモードになっている場合、それは

0

に見せて何の原因を取り除いて1メガバイトほどの低い小さな値にログのファイルサイズを変更する必要があります。サーバーのサイズはできるだけ小さくなります。

ただし、ログファイルはすべてのアクティブなトランザクションを含むサイズになっていることに注意してください。あなたの例では、ある時点で、350GB相当のトランザクションが進行中です。既存のサーバー・アクティビティーによって、サーバー・アクティビティーが目的のサイズに縮小できないことに注意してください。

シンプルモードでは、ログファイルを縮小することは、暴走トランザクションがログを吹き飛ばす場合にのみ価値があります。そうしないと、ログファイルを縮小しても問題は解決されず、パフォーマンスにも影響します。これは、新しいトランザクションのためにサーバーがログファイルをすぐに拡張する必要があるためです。

ログファイルをデータベースファイルとは別のドライブに移動することはできますが、移動する必要があります。

関連する問題