質問

同僚に送信する前に LDF ファイルを空にする必要があります。SQL Server にログを強制的に切り捨てるにはどうすればよいですか?

役に立ちましたか?

解決

よく覚えていれば…クエリ アナライザーまたは同等のもの:

BACKUP LOG  databasename  WITH TRUNCATE_ONLY

DBCC SHRINKFILE (  databasename_Log, 1)

他のヒント

マネジメントスタジオでは:

  • ライブ環境ではこれを実行しないでください。ただし、開発データベースをできる限り確実に縮小するには、次のようにします。
    • データベースを右クリックし、選択します Properties, 、 それから Options.
    • 「リカバリモデル」が「フル」ではなく「シンプル」に設定されていることを確認してください。
    • 「OK」をクリックします
  • データベースを再度右クリックし、選択します。 Tasks -> Shrink -> Files
  • ファイルの種類を「ログ」に変更します
  • 「OK」をクリックします。

あるいは、それを行うための SQL:

 ALTER DATABASE mydatabase SET RECOVERY SIMPLE
 DBCC SHRINKFILE (mydatabase_Log, 1)

参照: http://msdn.microsoft.com/en-us/library/ms189493.aspx

SQL Server 2008 の場合、コマンドは次のとおりです。

ALTER DATABASE ExampleDB SET RECOVERY SIMPLE
DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY)

これにより、14GB のログ ファイルが 1MB まで減りました。

SQL 2008 の場合、ログを次の場所にバックアップできます。 nul デバイス:

BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10

そして使用します DBCC SHRINKFILE ログファイルを切り詰めます。

バックアップ ログのログ名に truncate_only を指定し、その後に dbcc shrinfile コマンドを実行します

もう 1 つのオプションは、Management Studio を介してデータベースを切り離すことです。その後、ログ ファイルを削除するか、名前を変更して後で削除します。

Management Studio に戻り、データベースを再度接続します。添付ウィンドウで、ファイルのリストからログ ファイルを削除します。

DB は新しい空のログ ファイルをアタッチして作成します。すべてが正常であることを確認したら、名前を変更したログ ファイルを削除できます。

おそらく、実稼働データベースにはこれを使用しないでください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top