前のトピック: 部分バックアップ次のトピック: リストアの種類と方式


リストアの概要

リストア」とは、データベースのバックアップおよび必要な場合 1 つ以上のトランザクション ログのバックアップから、データベースをロードすることです。 データベースが消失したり損傷したりした場合、最新のデータベース バックアップとそれ以降のログ バックアップを再ロードすることによって、データベースをリストアできます。 リストアすると、データベース内の情報はバックアップの情報で上書きされます。 CA ARCserve Backup と Agent for Microsoft SQL Server では、Microsoft SQL Server の RESTORE ステートメントによるリストアを実行できます。

オンラインで稼働中のデータベースをリストアするとき、Microsoft SQL Server は、リストア ジョブが始まった時点でコミットされてはいないがアクティブであったトランザクションをロールバックします。 リストアが完了すると、データベースはそのリストアで使用したバックアップの BACKUP ステートメントが開始されたときと同じ状態になります。ただし、その時点で実行中だったトランザクションはリストアされません。

バックアップからデータがリストアされると、Microsoft SQL Server は残りの未使用のページをすべて再初期化します。 たとえば、100 MB のサイズを持つデータベースに格納されているデータが 5 MB のみでも、Microsoft SQL Server は 100 MB の領域をすべて書き換えます。 したがって、データベースのリストアには、少なくとも同サイズのデータベースを作成する場合と同じ時間がかかります。

リストア中、データベースは Microsoft SQL Server によってロックされるため、データベースを変更することはできません。 ただし、ユーザは、このときでも他の Microsoft SQL Server データベースにアクセスしたり修正したりすることはできます。

注: ユーザがデータベースにアクセスしている際にリストアが試行されると、Microsoft SQL Server はリストア処理を実行できません。

重要: デフォルトでは、Microsoft SQL Server 2005 は、データベースがオンラインで、フルまたは一括ログ 復旧モデルを使用している場合、リストア処理を許可しません。 このようなデータベースをリストアするには、トランザクション ログのバックアップを実行して(ログの末尾のバックアップを使用)データベースをオフラインにし、トランザクションが失われないようにします。または、[すべてのファイルを上書きする]オプション(「WITH REPLACE」)でリストアする必要があります。 これに対する唯一の例外は、[破損ページの修正 - オンライン]です。

データベースのリストア中に障害が発生した場合、Microsoft SQL Server はシステム管理者に通知しますが、部分的にリストアされたデータベースは回復されません。 リストア ジョブを完了するには、データベースのリストアを再度実行する必要があります。

注: リストア ジョブをキャンセルすると、データベースはロード状態のままとなり、リストア シーケンスが完了するまで使用することはできません。 ジョブがキャンセルされたときにリストア中だったセッションが、リストア シーケンス内の最初のセッションではない場合、リストア シーケンスを最初から開始する必要があります。

リストア先に指定されたデータベースには、少なくともバックアップされたデータベースに割り当てられたのと同じサイズの記憶領域が必要です。 バックアップされたデータベースの実際のデータ量は、この要件には関係ありません。 割り当てられている記憶領域を確認するには、Microsoft SQL Enterprise Manager、Management Studio、または DBCC の CHECKALLOC ステートメントを使用します。 データベースがオフラインの場合は、そのセッションの[エージェント リストア オプション]ダイアログ ボックスに表示されたファイル リスト、または ARCserve データベース マネージャ ビューで、ファイルのサイズをチェックします。

メディアに障害が発生した場合は、Microsoft SQL Server を再起動します。 メディアに障害が発生した後、Microsoft SQL Server がデータベースにアクセスできない場合、データベースに「問題あり」というマークが付けられてロックされ、警告メッセージが表示されます。 破損したデータベースを削除する(Microsoft SQL Server から切り離す)ことが必要な場合もあります。この場合は、Microsoft SQL Enterprise Manager または Management Studio を使用して実行します。