■概要
Toadでは、Log Reader機能でトランザクションログから過去実行したDML/DDL文と実行したDML/DDL文に対するロールバック用SQLを確認することができます。
Log Reader機能を使うと、オペレーションミス等で削除してしまったテーブルについてもトランザクションログのデータを用いて復元することが可能です。
■利用可能エディション
Toad for SQL Server Professional Edtion
Toad for SQL Server Xpert Edition
Toad for SQL Server Developer Editoin
■事前準備
Log Readerの機能を使用するためには初回実行前に以下の作業が必要です(2回目以降は不要です)。
1. SQL Server ルートディレクトリを確認します。
(SQL Server Management Studio でサーバーのプロパティから確認できます)
2. 以下フォルダの xp_LogReader.dll をコピーします。
C:\Program Files\Quest Software\Toad for SQL Server\Plugins\SqlServer\LogReader
※SQL Server が 64 bitの場合は、xp_LogReader_x64.dll をコピーします
3. SQL Server ルート\Binn フォルダにペーストします。ファイル名は xp_LogReader.dll にしてください。
4. SQL Server の master データベースで以下コマンドを実行します。
EXEC sp_addextendedproc ‘xp_qlr_version’, ‘xp_LogReader.dll’
EXEC sp_addextendedproc ‘xp_qlr_logfile’, ‘xp_LogReader.dll’
EXEC sp_addextendedproc ‘xp_qlr_loginfo’, ‘xp_LogReader.dll’
EXEC sp_addextendedproc ‘xp_qlr_logread’, ‘xp_LogReader.dll’
5. 以下コマンドでバージョン番号が返ってくれば正しくインストールされています。
EXEC master..xp_qlr_version
■データ生成手順
1) デスクトップ上の『Toad for SQL Server』アイコンをダブルクリックしToad for SQL Serverを起動する。
2) DBへの接続画面が表示されたら、DB接続に必要な情報を入力して『Connect』をクリックすると、
Toad for SQL Serverトップ画面が表示される。
必要な情報
- Server name
- Authentication
- Database
3) Toadトップ画面が表示されたら、メニューから[Tools] – [Administer] – [Log Reader]をクリックする。
4) Welcome to the Read Log Wizard画面 が表示されたら、『Next』をクリックする。
5) Log type画面が表示されたら、読み込むトランザクションログを選択し、『Next』をクリックする。
ここでは、テーブルのDROPが直近行われた処理であり、オンライントランザクションログに格納されているため、
『 Online Transaction Log』を選択する。
6) Select database画面が表示されたら、DB接続に必要な情報を入力して『Next』をクリックする。
必要な情報
- SQL Server
- Authentication
- Database
7) Select backup files画面にて、トランザクションログのバックアップファイルを追加することができる。
ここでは、オンライントランザクションログのみでテーブルの復元可能な情報は揃っているため、
そのまま『Next』をクリックする。
8) Completing the Read Log Wizard画面にて、トランザクションログの読み込み結果が表示される。
内容を確認して、『Finish』をクリックする。
9) トランザクションログから過去に実行されたDML/DDLの情報が表示される。
10) Log Readerタブの上部に表示される『Recover Table Wizard』ボタンをクリックする。
11) Welcome to the Recover Table Wizard画面にて、 『Next』をクリックする。
12) Select Table画面にて、 対象のテーブル名 (①)を選択し、『Next』(②)をクリックする。
13) Completing the Recover Table Wizard画面にて、結果(①)を確認し、『Finish』(②)をクリックする。
14) Log Readerタブにて、新たにCREATE TABLE文(①)が実行されたことが確認できる。
追加されたCREATE TABLE文を選択するとタブの下方で実際に実行されたSQL文(②)が確認できる。
15) 復元されたテーブルのデータを見てみるとDROP TABLEにより削除される直前のデータまで復旧していることが確認できる。
Log Readerによる削除されたテーブルの復元手順は以上です。
以下のTipsもあわせてご活用ください。
- SQL Server Management Studio(SSMS)とToadの連携
- SQLを自動チューニングできるSQL Optimizer 利用手順
- Spotlight on SQL ServerでT-SQLを監視する方法
Toadは30日間、フル機能で無償トライアルも可能です。
Toadに少しでも興味を持っていただけたなら、是非次のページもご参照ください。
・トライアルのご依頼はこちら
・Spotligh概要ページはこちら
・Spotlight on Oracle機能紹介ページはこちら
・Spotlight on SQL Server機能紹介ページはこちら
・Toad概要ページはこちら
・Toad for Oracle機能紹介ページはこちら
・Toad for SQL Server機能紹介ページはこちら
・Toadの製品紹介資料ダウンロードはこちら