none
ミラーリング構成でのログの切り捨てについて RRS feed

  • 質問

  • はじめまして。
    SQLServer2005のミラーリング構成の環境にて、トランザクションログの切り捨てを行いたいのですが、以下のコマンドを実行するとミラーリング構成では実行できないと言われてしまいます。
    backup log dbname with truncate_only

    ミラーリング構成でのログの切り捨てを行う方法はないのでしょうか?
    今回構築中の環境は、SQLServerのバックアップ機能は使用しない為、手動にてログの切り捨て、及び圧縮を行いたいと考えております。

    どうぞよろしくお願いいたします。

    2008年5月9日 9:23

回答

  • 私はミラーリングの環境には未だ遭遇する機会に恵まれていなくて個人でミラーリング構成を試しただけのレベルなのですが、興味があり書いてみました。

     

    SQL Server Books Onlineの「トランザクション ログの切り捨て」の項に次の記事がありました。

     

    ----------------------------------------------------------------

    重要 :

    BACKUP LOG ステートメントの NO_LOG オプションと TRUNCATE_ONLY オプション

    では、バックアップコピーを作成せずにログの非アクティブな部分が削除されるため、

    ログチェーンが破壊されます。

    次の完全バックアップまたは差分バックアップまで、データベースをメディア障害から

    防ぐことはできません。この機能は、Microsoft SQL Server の次のバージョンで削除

    されます。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用して

    いるアプリケーションはできるだけ早く修正してください。

    ------------------------------------------------------------------------

     

    ログチェーンが破壊される可能性のあるこれらのオプションを使用した処理は許されていないのだと思います。

    takayoさんが構築される環境でSQL Serverのバックアップを使用しない(必要ない?)としてもバックアップの手順をとって領域を開放していくしかないような気がします。

     

    ちなみにSQL Server2008(CTP版)のBooks Onlineでは[TRUNCATE_ONLY]オプションは廃止機能の一覧にあげられており、

    使うことはできませんでした。(「今後のリリースでは変更される場合があります。」のコメント付ですが・・・)

    2008年5月9日 16:08

すべての返信

  • 私はミラーリングの環境には未だ遭遇する機会に恵まれていなくて個人でミラーリング構成を試しただけのレベルなのですが、興味があり書いてみました。

     

    SQL Server Books Onlineの「トランザクション ログの切り捨て」の項に次の記事がありました。

     

    ----------------------------------------------------------------

    重要 :

    BACKUP LOG ステートメントの NO_LOG オプションと TRUNCATE_ONLY オプション

    では、バックアップコピーを作成せずにログの非アクティブな部分が削除されるため、

    ログチェーンが破壊されます。

    次の完全バックアップまたは差分バックアップまで、データベースをメディア障害から

    防ぐことはできません。この機能は、Microsoft SQL Server の次のバージョンで削除

    されます。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用して

    いるアプリケーションはできるだけ早く修正してください。

    ------------------------------------------------------------------------

     

    ログチェーンが破壊される可能性のあるこれらのオプションを使用した処理は許されていないのだと思います。

    takayoさんが構築される環境でSQL Serverのバックアップを使用しない(必要ない?)としてもバックアップの手順をとって領域を開放していくしかないような気がします。

     

    ちなみにSQL Server2008(CTP版)のBooks Onlineでは[TRUNCATE_ONLY]オプションは廃止機能の一覧にあげられており、

    使うことはできませんでした。(「今後のリリースでは変更される場合があります。」のコメント付ですが・・・)

    2008年5月9日 16:08
  • 回答ありがとうございます。

    現在構築中の環境では、DBデータファイルが存在するボリュームのコピーを作成することでDBのバックアップを取得しようと考えておりました。その為、SQLServerの機能のバックアップは使用せず、切り捨てのみを行いたいというのがこの問い合わせの背景でした。

    バックアップを取得せずにログチェーンを破壊しない切り捨てが行えてもいいのではないか、と個人的には考えておりましたが、やはり、バックアップを取得する過程での切り捨てしか方法はないようですね。

    使用しないバックアップログの保存先など問題は残ってしまいましたが、この方法で実現したいと思います。

     

    ありがとうございました。

     

     

    2008年5月12日 3:41
  • こんにちは,森田です。

     

    やっちんさん,有用な情報を投稿してくださりありがとうございます!

     

    takayoさん,フォーラムのご利用ありがとうございます!

    やっちんさんの回答は,有用なものだと思いましたので

    勝手ながら回答済みチェックをつけさせていただきました。

    takayoさんは回答済みチェックを解除することもできますので

    ご確認ください。

     

    追加でご質問などありましたら,是非また投稿をお願いします!

     

     

    なお,回答済みチェックがつくことにより,takayoさんと同じ問題を抱えた人が

    この情報を見つけやすくなります。

    有用な回答がありましたら,できるだけ回答済みチェックをつけてくださると嬉しいです。

     

    それでは,これからもMSDNフォーラムのご利用をよろしくお願いいたします。
    2008年5月20日 7:29