質問: datテープへの自動バックアップ(sql2000) windowsserver2003 sql2000 の環境でdbを構築しておりますが、バックアップに掛かる時間がとても長くなってきたので、夜間に自動でバックアップする様にしたいと考えてます。 バックアップの保存先はdat72のテープです。(dat72 usb drive) そこで、スタート→アクセサリ→システムツール→バックアップ からバックアップのタスクを作ってみたのですが、バックアップウィザードは立ち上がるものの、テープのマウント中メッセージが出て、そこで画面が消えてしまいます。 タスクのコマンドは以下のとおり c:\windows\system32\ntbackup.exe backup "@c:\documents and settings\administrator\local settings\application data\microsoft\windows nt\ntbackup\data\backup.bks" /n "***" /d "***" /v:no /r:no /rs:no /hc:off /m daily /j "backup" /l:s /p "4mm dds" ***部分は別の名前(ラベルの名前)が入ってます。 そもそもラベルの名前は何にしたらいいのかも知っていないのですが・・。 dat72に対して、自動でデータベースをバックアップ、もしくは指定したフォルダをバックアップすることは可能なのでしょうか?(テープではなく、指定フォルダに保守計画で自動バックアップする方法は分かりますので、そのフォルダをテープへ自動保存できれば・・それでも良いのですが) 可能であれば、何かヒントを頂きたく・・・よろしくお願いいたします。
回答: まずは、バッチじゃなくて、対話型でマイドキュメントの適当なファイルをテープにバックアップしてみればいいと思います。 新規テープなら、これでテープに"ラベル"がつきます(つけられます)。 次に、そうやってラベルのついたテープに、バックアップを上書きする処理を対話型でやって見ます。 スケジュールされたタスクでは、"上書き"処理になります。 このときは、"新規"では無く、ラベルのついたメディアを指定することになります。 対話型がうまくいったら、同じことを3分後とか5分後にスケジュールして、実行させてみましょう。 うまくいくはずです。 それから、バックアップのとり方を設計しましょう。 毎日とりたいということで"daily"を指定しているのだと思いますが、この指定では毎日"同じ"テープメディアに追記して容量不足になるか、上書きするかになります。 その唯一のテープメディアに障害が発生したら、バックアップは失われます。 たとえば、メディアを10本用意して、 monday1,tuesday1,wednesday1,thursday1,friday1,monday2,tuesday2,wednesday2,thursday2,friday2 とラベルをつけます。つまり、各曜日ごとに2本のテープを作ります。 そして、今週の月曜にmonday1を使ったら、来週の月曜にはmonday2を使う、というようにします。 そうするとジョブは、2週間おきに実行される10個のタスクが必要になります。 で、メディアは"1"のグループがサーバ室にある間、"2"のグループは別の場所(あるいは別の建物)に保管しておきます。 たとえば、火災でサーバとバックアップテープが失われても、先週のバックアップは残ります。 グループを3つにして、ひとつをリモートストレージに預けてしまうことも可能です。 別の建物に保管していても、同一地域なら地震で壊滅ということも有り得ますからね。 また、ntbackupはbackupexecなどに比べると、テープドライブなどの最適化が行われていなくて、パフォーマンスがよくありません。数倍以上バックアップに時間がかかるようです。 テープメディアではなく、外付けusbディスクにバックアップをとって、そのドライブを保管するということも考えられます。 datってよくトラブルし。 でもテープメディアは落としても壊れないけど、ディスクは落とすと壊れるし。 悩ましいことです。