回答:
いや-それは絶対にありません。唯一の例外なく- FULLまたはBULK_LOGGED復旧モデルでクリア/トランケートにログを許可する事は、ログのバックアップです。私はしばらく前にこの議論を持ち、ログとログバックアップに関する誤解でそれを証明するために使用できる説明とスクリプトを含む長く詳細なブログ記事を投稿しました:どうやって自分を納得させるか。
さらに質問がある場合は、お気軽にお問い合わせください。Btw-TechNet Magazine でSQL Serverのログと回復について理解するために書いた長い記事も参照してください。
ありがとう
完全バックアップではログは切り捨てられません。バックアップログ操作を実行する必要があります。完全バックアップでは、ログチェーンはリセットされません。複製/ログ配布などが完全に台無しになります。
SQL Serverのバックアップ方法を詳しく調べる必要がありますが、実行中/長時間実行中のトランザクションはバックアップに含まれないことを確認する必要があります(そうでない場合、バックアップは決して完了しない場合があります)。 online-databaseは次のログバックアップを廃止することが保証されています。
私の理解では、トランザクションログを切り捨てるのはログバックアップのみです。
完全バックアップは、トランザクションの一貫性を保つために十分なログのみをコピーします。バックアップ操作が完了するまでに時間がかかるため、コピーされたページが変更されている可能性があります。
ポイントインタイムリカバリには、引き続きログバックアップが必要です。
リンクするMSDNはありませんが、SQL Serverチームの開発者であるDB R CHECKDBとBooks Onlineの一部を書いたPaul Randalのブログにリンクできます。
彼はこのフォーラムの質問にも答えているので、それは私からの2/3の情報よりもさらに良い権限になるでしょう:)
多くの場合、フルバックアップとログバックアップについて誤解されています。作業にバックアップ用のためにはFULL
、バックアップ中に静止(あなたはいわゆる実行しない限り、データベースで起こっているの取引があるかもしれないとして、バックアップ復旧モデル、T-ログは、使用されている必要がありCOLD
ますが、データベースをシャットダウンしたときにバックアップを)。データベースがARCHIVELOG
モードにある場合、Oracleは同じ概念を使用します。バックアップのシーケンスは次のように要約されます。
バックアップフェーズ中のトランザクション継続の重要な部分であるため、tログがデフォルトで切り捨てられたり縮小されたりしない理由です。
ログの切り捨てとログの縮小を混同しないでください。
TRUNCATEとは、最後のチェックポイントの前にあるログ内のトランザクションを削除することです(チェックポイントとは、トランザクションがデータベース自体にフラッシュされるときです)。これは、BACKUPコマンドを使用して行われます。
ログを縮小するには、実際のログファイルサイズを縮小します。これは、DBCCコマンドを使用して行われます。
基本的に、トランザクションログは機能するためにスペースが必要なため、毎回トランザクションログを自動的に縮小する必要はありません。