212

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

4

7 に答える 7

328

管理スタジオで:

  • ライブ環境ではこれを行わないでください。ただし、開発データベースをできる限り縮小するには:
    • データベースを右クリックし、 を選択してから を選択し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

于 2008-09-02T19:51:12.087 に答える
134

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

BACKUP LOG  databasename  WITH TRUNCATE_ONLY

DBCC SHRINKFILE (  databasename_Log, 1)
于 2008-09-02T19:53:31.410 に答える
75

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

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

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

于 2011-08-08T07:09:49.520 に答える
39

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

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

次にDBCC SHRINKFILE、ログ ファイルを切り捨てるために使用します。

于 2011-09-09T12:24:30.427 に答える
3

truncate_only を使用したバックアップ ログ logname の後に dbcc shrinkfile コマンドを続ける

于 2008-09-02T19:51:59.323 に答える
0

私への答えはコメントに埋もれていたので。SQL Server 2012 以降では、次を使用できます。

BACKUP LOG Database TO DISK='NUL:'
DBCC SHRINKFILE (Database_Log, 1)
于 2020-04-16T20:25:50.563 に答える