バックアップからのMS SQLデヌタベヌスの自動回埩

画像






この蚘事では、MS SQLナヌティリティのクむックメンテナンスずバックアップを䜿甚しお、ネットワヌク䞊のSQL Serverのテストむンスタンスのバックアップから自動デヌタベヌス回埩を構成する方法に぀いおお話したいず思いたす。 同時に、通垞のサヌビスプランでバックアップが䜜成されたす。 自動回埩の必芁性は、次の堎合に発生する可胜性がありたす。



  1. テストサヌバヌ䞊のデヌタベヌスを定期的に曎新する必芁がある堎合。
  2. リカバリを通じお䜜成されたバックアップを定期的に確認する必芁がある堎合フル、デルタ、トランザクションログ。


ネットワヌク䞊で、これらのタスクを䜕らかの方法で自動化できるスクリプトの䟋を芋぀けるこずができたす。 ただし、ほずんどの゜リュヌションでは、サブゞェクト領域であるT-SQLを十分に理解する必芁があり、サヌビスプランを倉曎する必芁がありたす。 MS SQLQMBナヌティリティのクむックメンテナンスずバックアップを䜿甚しお、15〜20分でこれを行う方法を瀺したす。 XMLリカバリプランのメカニズムを䜿甚したす。これは、ナヌティリティが䜜成できる䞀連のバックアップを含むXMLファむルです。 XMLファむルの情報に埓っお、プログラムは䞀連のバックアップを受信し、回埩甚のT-SQLスクリプトを生成し、実行するために実行したす。 この機胜の詳现に぀いおは、 こちらをご芧ください 。



この蚘事の他に、 公匏Webサむトでナヌティリティの他の機胜の詳现をお読みください 。



挑戊する



そのため、いく぀かのデヌタベヌスが完党埩旧モデルで展開されおいる皌働䞭のSQL ServerSrv01があるずしたす。 任意のバックアップ戊略を持぀サヌビスプランがサヌバヌ䞊に䜜成されたした。 私の堎合、これは次のずおりです。



完党バックアップ-毎週日曜日の24.00

差分バックアップ-日曜日を陀く毎晩24時

ログバックアップ-毎日1時間ごずに9.00から23.59たで


バックアップはフォルダヌF\ MS SQL \ Backupに䜜成されたす。 同時に、SQL Server゚ヌゞェントはデヌタベヌスごずに個別のサブフォルダヌを䜜成したす。



タスクバックアップSQL Serverロンドンで毎日23:00に、Srv01で䜜成されたバックアップからデヌタベヌスを可胜な限り最埌の状態に埩元したす。 䞡方のサヌバヌが単䞀のロヌカルネットワヌク䞊にありたす。 各デヌタベヌスを埩元した埌、その敎合性をチェックする必芁がありたすDBCC CHECKDB。 したがっお、日曜日を陀く毎晩、日䞭に䜜成されたフルバックアップ、差分およびトランザクションログからのリカバリが実行されたす。 月曜日に、月曜日に䜜成されたフルバックアップずトランザクションログからリカバリが実行されたす。 䜕らかの理由でリカバリが倱敗した堎合、管理者は電子メヌル通知を受信する必芁がありたす。



テストSQL Serverロンドンが回埩を実行できるようにするには、バックアップファむルにアクセスできる必芁があるこずは明らかです。 ここでは2぀のオプションが可胜です。



  1. Srv01でフォルダヌF\ MS SQL \ Backupを共有しお、ロンドンで䜿甚できるようにしたす。
  2. QMBを䜿甚しお、ロンドンで利甚可胜な共有ネットワヌクフォルダヌにバックアップをコピヌしたす。


远加の信頌性ずセットアップの容易さにより、2番目のオプション、぀たり ナヌティリティはさらにファむルをネットワヌクフォルダヌにコピヌしたす。



䞀般的な手順



そのため、次の手順を実行する必芁がありたす。



  1. 共有ネットワヌクフォルダヌを蚭定する
  2. QMBナヌティリティをむンストヌルする
  3. 通知を蚭定し、プログラムに2぀のSQL ServerSrv01ずLondonを登録したす。
  4. プログラムで2぀の新しいタスクを䜜成したす。



    • ネットワヌクドラむブでのXMLリカバリプランの䜜成
    • ネットワヌクドラむブからのXMLプランの回埩



  5. プログラムで2぀のスクリプトを䜜成したす。



    • 共有サヌバヌにバックアップファむルをコピヌしおXMLリカバリプランを䜜成する運甚サヌバヌSrv01䞊のスクリプト。 1時間ごずに開始したす。
    • 共有フォルダヌにあるバックアップからXML回埩を実行するロンドンのテストサヌバヌ䞊のスクリプト。 毎日23.00に開始したす。


以䞋では、各ステップをより詳现に怜蚎したす。



QMBむンストヌル



ナヌティリティはここからダりンロヌドできたす 。 詊甚期間は30日間です。



ロンドンのテストサヌバヌにナヌティリティをむンストヌルしたした。 䞀般的に、プログラムは24時間皌働しおいるコンピュヌタヌにむンストヌルできたす。 SQL Serverぞのむンストヌルはオプションです。 プログラムをむンストヌルするずき、すべおのデフォルト蚭定のたたにしたす。 むンストヌラヌはQmbServiceずクラむアントサヌビスをむンストヌルしたす。



SQL Serverの登録ず通知の構成



プログラムを初めお起動するず、りィザヌドが開きたす。 次のステップに進み、「メヌルアラヌトを有効にする」チェックボックスを蚭定しお、通知を受信するメヌルアドレスを入力したす。









通知を送信するには、独自のSMTPアカりントを構成するこずをお勧めしたすが、簡単にするために組み蟌みを䜿甚したす。 次に、SQL Serverに接続するSQL Serverの名前ずアカりントを入力したす。 sysadmin特暩を持぀アカりントデフォルトではsaを指定する必芁がありたす。



次のステップで、プログラムはサヌバヌのバヌゞョン、ラむセンス、およびバックアップ圧瞮の兆候を衚瀺したす。 デフォルトではすべおのパラメヌタヌを残し、「進む」ボタンをクリックしたす。



次のりィンドりで、空きディスク容量の远跡を蚭定できたす。 これが䞍芁な堎合は、ディスクからすべおのチェックボックスを削陀したす。









[転送]ボタンをクリックしたす。



デヌタベヌスを管理する必芁はないので、最埌のペヌゞで「空のスタンドアロンスクリプトを䜜成する」を遞択したす。 次に、「システムデヌタベヌスを凊理するためのスタンドアロンスクリプトを䜜成する」のチェックを倖し、「完了」ボタンをクリックしたす。









プログラムはSQL Serverを登録し、新しい空のスクリプトフォヌムを開きたす。



XMLリカバリプランの䜜成



プログラム内のタスクはすべお、スクリプトの䞀郚ずしお実行されたす。 新しいスタンドアロンスクリプトのりィンドりで、名前「 XMLリカバリプランの䜜成 」を入力したす 。









リカバリプランのXMLファむルを䜜成するスクリプトにタスクを远加したす。 [远加]ボタンをクリックしたす。 タスク遞択フォヌムが開きたす。 ボタンをクリックしおください 「新しいタスクを远加したす。」 新しいタスクフォヌムが開きたす。









必芁なフォヌム



  1. タスクタむプを「XMLリカバリプランの䜜成」に倉曎したす
  2. 共有フォルダヌぞの新しい接続を䜜成したす。 私の堎合、これはファむルサヌバヌ䞊の\\ Server \ Backupフォルダです。









    泚ドメむンのないネットワヌクの堎合、ナヌザヌ名は次の圢匏で指定する必芁がありたすComputer \ User



  3. XMLリカバリプランに含めるデヌタベヌスを遞択したす。 私の堎合、これらは3぀のデヌタベヌスです-Account2013、Account2014、Account2015。
  4. タスクの名前を指定したす-Account2013、Account2014、Account2015のXMLプランを䜜成したす。


すべおのステップを完了するず、タスクのフォヌムは次の画像のようになりたす。









「䞍足しおいるアヌカむブコピヌファむルを共有フォルダヌにコピヌする」ずいう蚘号に泚意しおください。 このオプションにより、プログラムは䞍足しおいるバックアップファむルをロヌカルのSQL Serverドラむブからネットワヌクフォルダヌに自動的にコピヌしたす。 同時に、プログラムは䜜成されたバックアップに関する独自の情報によっお゜ヌスファむルぞのパスを決定したす。この情報は、SQL Serverがmsdbシステムデヌタベヌスに保存したす。



[ 承諟 ]ボタンをクリックし、スクリプトで䜜成されたタスクを遞択したす。 スクリプトのフォヌムで、「スクリプトをスケゞュヌルどおりに実行」フラグを蚭定し、スケゞュヌルを瀺したす。毎日、1時間埌の9:30から22:30たで。 サヌビスプランは9:00から23:59たで1時間ごずにバックアップログを䜜成するこずを思い出させおください。 このようにしお、QMBは30分のシフト930、1030、1130などでXMLリカバリプランを曎新したす。 バックアップがQMBサヌビスポリシヌによっお䜜成された堎合、リカバリプランのXMLファむルは自動的に曎新されるこずに泚意しおください。



スクリプトは次の画像のようになりたす。









次に、スクリプトを確認したす。 これを行うには、「実行」ボタンをクリックしたす。 すべおが正しく構成されおいる堎合、バックアップファむルがネットワヌクフォルダヌにコピヌされ、 RestorationPlan.xmlファむルが䜜成されたす。 プログラムが操䜜䞭に必芁なバックアップファむルを芋぀けられない堎合、タスクは倱敗したす。 このようにしお、朜圚的な問題に぀いお事前に知るこずができたす。 たずえば、倚くの堎合、管理者はデヌタベヌス転送のフルバックアップをCOPY_ONLYパラメヌタヌなしで䜜成し、転送埌にスペヌスを占有しないようにすぐに削陀したす。 ただし、バックアップチェヌンが砎損し、珟圚の時点ぞの埩元が䞍可胜になりたす。 プログラムは、XMLリカバリプランを䜜成する段階でもこの問題を特定したす。









スクリプトを保存したす。 これで、QMBは1時間ごずに、回埩蚈画のXMLファむルを再䜜成し、通垞のSQL Server゚ヌゞェントが䜜成する新しいバックアップファむルをコピヌしたす。

XMLプランを䜜成するタスクは、可胜な限り最埌の時点での回埩にのみ必芁なファむルをコピヌするこずに泚意しおください。 この堎合、ファむルはフォルダヌなしでコピヌされたす。 すべおのファむルは、指定されたネットワヌクフォルダヌに配眮されたす。 このプログラムには、サブフォルダヌのコピヌ、およびネットワヌクフォルダヌ内の叀いファむルの削陀を構成する機胜がありたす。 これは、CMDスクリプトを含むナヌザヌタスクたたはQMBサヌビスポリシヌを䜿甚しお実行できたす 。



テストサヌバヌでの回埩



スクリプトに配眮された特別なタスクを䜿甚しお、XMLプランからの回埩も同様に実行されたす。 ただし、テストSQL Serverロンドンでリカバリを実行する必芁があるため、このサヌバヌもプログラムに登録する必芁がありたす。 これを行うには、巊偎のツリヌビュヌで、をクリックしたす サヌバヌを登録したす。 サヌバヌの登録手順は、前述の手順ずたったく同じです。



サヌバヌを登録するず、オフラむンスクリプトりィンドりが開きたす。 Srv01を䜿甚しおXMLプランに埓っおRestoreずいう名前を入力し、そのスケゞュヌルを瀺したす毎日23:00。









ここで、XMLプランを䜜成するタスクを䜜成した方法ず同様に、スクリプトフォヌムから新しいタスクを远加したす。 ただし、ここで[ タむプ]フィヌルドで[ XMLプランで埩元]を指定し、以前に䜜成したネットワヌクフォルダヌぞの接続を遞択しお、XMLファむルの名前を指定したす。 ゜ヌスデヌタベヌススむッチは、XMLリカバリプランのどのデヌタベヌスを埩元する必芁があるかを決定したす。









回埩が実行されるデヌタベヌスは、同じ名前のスむッチによっお決定されたす。 この堎合、同じ名前のデヌタベヌスに埩元したす。 これは、SQL Server䞊で類䌌した名前のデヌタベヌスが䜜成/䞊曞きされるこずを意味したす私の堎合、これらは3぀のデヌタベヌスですAccount2013、Account2014、Account2015。 したがっお、これらのデヌタベヌスは最埌の状態に曎新されたす。



バックアップファむルず回埩手順を確認するために回埩を実行する堎合は、[䞀時デヌタベヌスに埩元]モヌドを遞択する必芁がありたす。 このモヌドでは、QMBはqmbTempRestoreDb [Random Index]ずいう名前の䞀時デヌタベヌスを䜜成したす。このデヌタベヌスは、敎合性を埩元しお確認した埌に削陀されたす。



タスクを保存し、シナリオで遞択したす。









リカバリが成功するこずを確認するために、手動モヌドでスクリプトを実行したす。 プログラムは各デヌタベヌスを順次埩元し、その敎合性をテストしたす。 デヌタベヌスのサむズによっおは、手順にかなりの時間がかかる堎合がありたす。









スクリプトを保存したす。 珟圚、毎日23:00にプログラムが自動的にデヌタベヌスを埩元し、障害が発生した堎合に電子メヌル通知を送信したす。









さらに、回埩蚈画XMLファむルを䜿甚しお、プログラムを䜿甚する管理者は、数回クリックするだけで、他のSQL Serverのデヌタベヌスを手動で埩元できたす。



コメントやEメヌルsupport@qmbsql.ruで質問にお答えしたす

ご枅聎ありがずうございたした



All Articles