none
レプリケーションを一時停止して、データベースをリネームする方法はあるでしょうか? RRS feed

  • 質問

  • いつもお世話になっています。

    現在レプリケーションを組んでいるのですが、
    トランザクションレプリケーションを一時的に中断して、
    サブスクライバのデータベースを一時的にALTER DATABASE等で名前を変更し、
    同じ名前のデータベースをリストアしたいのですが、
    何か良い方法はないでしょうか?

    レプリケーション自体をバックアップしてから無効にしてしまうと、
    再度レプリケーションを登録すると最初からレプリケーションしてしまい、
    データ量が大量にあるので非常に時間がかかってしまいます。
    ですので、データベースを一時的にリネームして退避したいと考えています。

    動作環境は、

    OS:Windows 2008 Ent R2
    SQL Server:2008 R2 Standard

    です。


    なお、自分では以下のパターンを試してみました。

    ・サブスクライバ側のSQL Serverエージェントを停止してみました。
    -> ALTER Databaseができない。デッドロック発生

    ・パブリケーション側のSQL Serverエージェントを停止してみました。
    -> ALTER Databaseができない。デッドロック発生

    ・上記の状態で、該当データベースをオフラインにし、その後ALTER Database
    -> オフラインにする処理が戻ってきません。

    手詰まりになっていまったので、なにか良い手があればご教授願いたく投稿させて頂きました。
    お時間があるときにでもご回答頂けると助かります。

    以上です。よろしくお願いいたします。


    2013年10月30日 1:06

回答