SQL Server 2008でとあるDBのトランザクションログが一杯に。
BACKUP LOG DatabaseName WITH TRUNCATE_ONLY
を使ってトランケートしようとしたら、
'TRUNCATE_ONLY' はBACKUP オプションとして認識されません。
との冷たい返事。2008で廃止されていたのを忘れていた。 SQL Server 2008 で廃止されたデータベース エンジンの機能@MSDN そこでヌルデバイスを使用してバックアップを取得する方法で、切り捨てを試みる。
BACKUP LOG DatabaseName TO DISK = ‘nul’するとまた冷たい返事。
GO
現在、データベースのバックアップが存在しないので、BACKUP LOG を実行できません。
2008では過去にフルバックアップを取得しておかないと、ランザクションのバックアップが取得できないことを忘れてた。てなわけで、まずはデータベースのフルバックアップを取得して、
BACKUP DATABASE DatabaseName TO DISK = ‘nul’
GO
もう一度トランザクションのバックアップをして、やっと切り捨てれた。最初から単純にしておけばよかった・・・。
2008になり、WITH TRUNCATE_ONLYが使用できず、このページにたどり着きました。
返信削除「ヌルデバイスを使用してバックアップを取得する方法」ですが、ファイルに出力されないバックアップ方法と認識していたのですが、、
SQL Serverのバックアップフォルダ(C:\Program Files\Microsoft SQL Server\・・・\Backup\)に null というファイルが作成され、そこにバックアップされませんか??
'null'ではなく、
削除BACKUP DATABASE DatabaseName TO DISK = N'NUL’
とすれば解決します。