Denali CTP3 の SQL Server Management Studio (SSMS) ではリストアの機能が強化されています。
今回の投稿では、変更されている個所についてみていきたいと思います。
関連する技術情報はこちらになります。
Restore improvements in SQL Server Denali CTP3 Management Studio
■リストア時のログ末尾のバックアップ取得
リストアをする際に、障害発生の直前までデータを復元する場合、[ログ末尾のバックアップ] が必要となります。
今までの SQL Server では、リストアのオプションはリストアに関する設定に特化していたため、オプションは RESTORE DATABASE の設定内容が表示されていました。
Denali の SSMS では、RESTORE DATABASE のオプションの他にリストア前にログ末尾のバックアップを取得することが可能になりました。
ログ末尾のバックアップをリストア前に取得するのがデフォルトの設定となっています。
この機能が追加されたことで、リストア処理をする際にそれまでのログを取り忘れるということが少なくなるかなと思います。
■サーバー接続を閉じるの追加
先ほどのオプションですが、もう一つ設定が追加されています。
それが、[接続を閉じる] になります。
以前のバージョンでもデータベースを削除するときにはこの設定があったのですが、リストア時にも接続を閉じることができるようになりました。
このオプションを有効にした場合、以下のクエリが最初に実行されます。
# 削除時の接続を閉じるでも同様のクエリが実行されています。
ALTER DATABASE [<データベース名>] SET SINGLE_USER WITH ROLLBACK IMMEDIATE |
リストア時はデータベースに対して排他ロック (X) を取得します。
そのため他の接続 (データベースの共有ロック等) があるとリストアをすることができません。
シングルユーザーモードに設定して自分以外接続ができないようにしてからリストアをすることでスムーズにリストアを実施することができるようになります。
今までこの機能がなかったのでリストアするときに面倒なので SQL Server のサービスを再起動して接続を切ってからリストアとかやっていたのですよね。
GUI から簡単に接続を切断できるようになったのは結構うれしいです。
■時間指定のリストア
以前から、SSMS で時間を指定したリストアは可能だったのですが、GUI は以下のような表示でした。
Denali では復元可能な時間帯をタイムラインでグラフィカルに表示することが可能になりました。
どのバックアップを使うと、どの時点まで戻すことが可能かがかなりわかりやすくなっていますね。
タイムラインのスライダーを移動させることで時間を指定することも可能となっています。
■データベースファイルのフォルダーの一括指定
以前のバージョンでは復元時に各ファイルに対して復元先を指定する必要がありました。
バックアップを取得したサーバーに戻す / ファイル構成がすくない場合は復元先の指定の手間もさほど大きくないのですが複数ファイルで構成されている場合はちょっと面倒でした。
Denali では、データファイル / ログファイルの復元時の場所を一括で指定できるようになりました。
本番環境→開発環境にリストアする場合、ドライブ構成が違っていることが多々あると思いますのでこういう指定ができると便利でよいですね。
この指定は [データベースの復元] のときのみ可能で、[ファイルおよびファイル グループの復元] では今までのバージョンと同じ画面となっています。
■ページ単位のリスト
ア
以前のバージョンでもページ単位でリストアをすることは可能だったのですが、SSMS の GUI からは実行することができず、クエリで実行する必要がありました。
Denali では復元から [ページ] を選択することが可能となりました。
今まではページ単位の復元はクエリを実行していたのですこし手間だったのですが、Denali からは GUI で操作可能です。
ページ単位のリストアはSQLTO 第 1 回勉強会の際に私がデモしようとして順番を間違え、必要になるログのバックアップを取らずにリストアしたのでデモを失敗したのですが、GUI からは必要になるログも確認ができるのでかなり操作がしやすくなっています。
今までクエリで操作していたものが SSMS の GUI からできるようになっており、かゆいところに手が届く機能がいろいろと追加され、リストアの操作性がかなり強化されていますね。