none
SQL Server 2017の「高速復旧」とは?

    質問

  • こんにちは。初めて質問をします。

    SQL Server 2017 のエディション別機能比較のRDBMS の高可用性のところで
    「高速復旧」というのがありました。

    https://docs.microsoft.com/ja-jp/sql/sql-server/editions-and-components-of-sql-server-2017#RDBMSHA

    現在、大量データのバックアップとそのレストアをどうしようかと
    思案中なのですが、この高速復旧という機能が、有効なのかどうか知りたいのです。

    検索等では、なかなか有効な情報がなかったので、宜しくお願い致します。



    2018年3月28日 11:15

すべての返信

  • こんばんは、

    高速復旧 (Fast Recovery) について詳しいわけではないのですが、私も気になって調べたところ、判ったことを共有したいと思います。

    まず、ご質問の文中で言及されているような大量データの復元に直接効果を発揮する機能ではないようでした。SQL Server の可用性の文脈で現れる「高速復旧」とは、私が参考にした外部リンク [1] によると、「システム障害時の復旧のプロセスの中で REDO が完了した後、UNDO が完了する前により早くオンライン状態へ復旧する機能」を示すようです。

    データのバックアップと復元も、RDBMS の可用性の分類の中で扱われるトピックですが、この高速復旧は DB システムが意図せずクラッシュしたとき(あるいは可用性グループの中でフェールオーバーが発生したとき)により早くオンライン状態へ復旧するための SQL Server 2005 以降の機能であるとのことです。したがって、大量のバックアップを高速に復元 (restore) するというような機能ではありません。

    目につきやすい機能ではないと思いますし、ご質問の中で述べられているとおり、なかなか有効な情報が見つからない機能と思いますが "Fast recovery" Sql Server 等のキーワードで検索してみると、UNDO (roll back) が完了する前にオンライン状態へ復旧する固有の機能である、ということを説明する Web ページがいくつか見つかります。以下に、私が参考にした外部リンクを添えさせていただきます。

    [1] Lock logging and fast recovery (SQL Server MVP Paul Randal 氏, 2009)
    https://www.sqlskills.com/blogs/paul/lock-logging-and-fast-recovery/

    [2] When is fast recovery used? (同氏, 2014)
    https://www.sqlskills.com/blogs/paul/fast-recovery-used/

    [3] Fast Recovery in SQL Enterprise Edition (Database Administrator Stack Exchange, 2012)
    https://dba.stackexchange.com/questions/22025/fast-recovery-in-sql-enterprise-edition

    [4] recovery interval 構成オプションは何を指定するオプションなのか (Microsoft Japan SQL Server Support Team, 2013)
    https://blogs.msdn.microsoft.com/jpsql/2013/08/04/recovery-interval/
    (recovery interval について説明しているページですが高速復旧について少し触れられています、日本語です)

    ご期待に添う内容ではなかったと思いますが、私も気になったキーワードであったので回答させていただきました。本回答にご不明な点があればお知らせください、


    -- Momoto, Seiji

    2018年4月2日 15:13