SQL Server ログ ファイルを切り詰めるコマンドは何ですか?
-
09-06-2019 - |
質問
同僚に送信する前に 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)
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 は新しい空のログ ファイルをアタッチして作成します。すべてが正常であることを確認したら、名前を変更したログ ファイルを削除できます。
おそらく、実稼働データベースにはこれを使用しないでください。
所属していません StackOverflow