So-net無料ブログ作成

VSS による SQL Server のバックアップ① [BACKUP]

この話題、2007年からやっているのですが、なかなかいい案がない状態でした。
11.jpg
SQL Server では SQL Server 2005 から VSS Writer が付属していて、NTBACKUP や Windows Server Backup 又はHyper-V等の仮想環境で容易にバックアップが出来て、少なくともバックアップを取った時点には容易に戻す事が出来ます。
SQLVSSWm.jpg
しかし、そのフルバックアップ後に取ったトランザクションログのバックアップを充てる事が出来ないという問題がありました。
これだと障害直前には戻せないため、データが大事な本稼働システムでの運用は難しい。
なので、仮想環境であっても物理環境と同様なバックアップをしている所が多い。

ちなみに Oracleは 10g から VSS Writer が付属するので、VSS でオンラインバックアップを行う事が出来ます。その後のアーカイブログと最新のcontrolファイルがあれば、フルバックアップから recover database してログを適用する事が出来ます。
↓この辺りでやってます。
http://ojaoki.blog.so-net.ne.jp/2010-10-18
http://ojaoki.blog.so-net.ne.jp/2010-10-21

話を SQL Serve に戻しますが、SQL Server はVSSでバックアップしたものを戻すとトランザクションログを適用できる restoring 状態で戻らないのがトランザクションログを適用出来ない原因となっています。
SQLRestoring.jpg
バックアップをリストアする時にも VSS Writer を介すとまだ望みはありますが、仮想環境を戻すとなると、仮想HDDさらまるっと戻すので絶望的だったりします。

そこで、利便性は少し犠牲になりますが、逆転の発想で、バックアップする時に restoring 状態にしてバックアップすれば、戻した時も restoring 状態で戻るので、その後にトランザクションログの適用をする事が出来る様になります。
問題は、バックアップ時に restoring 状態にするので、その間DBへのアクセスが出来なくなります。
これでとりあえず、仮想環境をVSSでまるっとバックアップしても最新状態まで戻せる期待が持てます。


実際にやってみます。
環境は Windows Server 2012 の Hyper-V の仮想サーバ内に SQLServer 2008R2 を用意しました。
02.jpg
バックアップは Windows Server 2012 から Windows Server Backup で VSS を介して仮想サーバをまるっとバックアップします。
11.jpg

…その前に、
SQL Server は最初にデータベースのフルバックアップが無いと、トランザクションログをログファイルに書き込まない仕様になっていて、トランザクションログのバックアップも出来ないので、データベースのフルバックアップが必要になります。このバックアップは以降、保持する必要はなく、捨ててもかまいません。
それで、Windows Server Backup で VSS を介して仮想サーバをまるっとバックアップしようと思うのですが、Windows Server Backup の VSSのバックアップオプションがVSSコピーバックアップになってますので、VSS完全バックアップにする必要があります。
VSSコピーだと、SQLServerがバックアップ履歴を保存しないので、データベースのフルバックアップがされたと認識されません。ログの書き込みも始らず、トランザクションログのバックアップも出来ません。
VSS_Opt1.jpg
VSS_Opt2.jpg
データベースのフルバックアップがされているかどうかは、SQL Server Management Studio のデータベースのリストアでフルバックアップが出てくる事で確認出来ます。
14.jpg
フルバックアップ後のトランザクションログのバックアップは、フルバックアップを戻した時に消えてしまわない場所にバックアップします。今回はネットワーク越しの別サーバへバックアップする事にしました。
17.jpg
ちなみに、SQLServerでネットワーク越しにバックアップする場合は、SQLServerの実行ユーザーを LocalSystem ではなく、Administrator 等のローカル又はドメインのユーザである必要があります。そして、そのユーザはバックアップ先のネットワーク共有に書き込みアクセスする事が出来ないといけません。
SQLServerConfMan.jpg

つづく
nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。