カピバラ好きなエンジニアブログ

興味ある技術とか検証した内容を赴くままに書いていきます。カピバラの可愛さこそ至高。

SQL Serverのメンテナンスプランを使用してバックアップを取得してみた

タイトル通り、今回はSQL Serverの機能であるメンテナンスプランを使用して、バックアップを取得します。

実施作業

メンテナンスプランとは

簡単にいうと、DBのメンテナンスをするために標準で提供する機能で、DBの定期バックアップはもちろんのこと、DB最適化やデータ不整合の修正等色々とやれるそう。

ワークフローも作成できるので、フルバックアップを取得した後に日時で差分バックアップを取得する、等といった制御が可能になるため、意図的に時間をずらして個別に設定するということが不要になるみたいです。

他の機能も興味ありますが、今回はフルバックアップの取得のみを実施しようと思います。


公式のドキュメントは以下
docs.microsoft.com


メンテナンスプランを設定する方法として、ウィザードを使用する方法と、デザイン画面を使用する方法がありますが、ウィザードによるメンテナンスプランの作成を実施します。
docs.microsoft.com

設定対象

メンテナンスプランを設定する対象情報はこちらです。

サーバ:Windows Server 2016 Datacenter
SQL Server :2016 Standard
バックアップ対象DB:AdventureWorks2016

メンテナンスプラン設定

最初にRDPサーバーに接続し、SQL Serverにログインする
f:id:live-your-life-dd18:20200323172802p:plain


[Management]を展開し、[Maintenance Plans]を右クリックして出てきた[Maintenance Plan Wizard]を選択する
f:id:live-your-life-dd18:20200323173317p:plain


メンテナンスプランのウィザードが立ち上がるので、Nextボタンを押下します。
f:id:live-your-life-dd18:20200323173554p:plain


次にプロパティの設定に移るので、メンテナンスプランの名前を入力し、[Single schedule for the entire plan or no schedule]を選択します。
今回スケジュールを設定するつもりはないので、Nextボタンを押下します。
f:id:live-your-life-dd18:20200323173735p:plain


※選択した項目について
上記で選択した[Single schedule for the entire plan or no schedule]は作成するプラン全体でスケジュールを使用するかしないかを判断する項目で、もう一つの[Separate schedules for each task]項目はプランに設定するタスク単位でスケジュールを設定するかしないかを判断したい場合はこちらを選択します。


次の画面でメンテナンスタスクを選択します。
フルバックアップにチェックを付けてNextボタンを押下します。
f:id:live-your-life-dd18:20200323175245p:plain


それぞれのタスクの説明は以下をご確認ください。

タスク名 日本語(直訳)
Check Database Integrity データベースの整合性を確認する
Shrink Database データベースの縮小
Reorganize Index インデックスの再編成
Rebuild Index インデックスを再構築
Update Statistics 統計を更新する
Clean Up History 履歴をクリーンアップする
Execute SQL Server Agent Job SQL Serverエージェントジョブの実行
Back Up Database (Full) データベースのバックアップ(フル)
Back Up Database (Differential) データベースのバックアップ(差分)
Back Up Database (Transaction Log) データベースのバックアップ(トランザクションログ)
Maintenance Cleanup Task メンテナンスクリーンアップタスク



タスクの選択ができたらタスクの実施順序を設定します。
今回はタスクが1つなので、そのままNextボタンを押下します。
f:id:live-your-life-dd18:20200323175547p:plain


次からはタスクの詳細を設定していきます。
フルバックアップの設定ではバックアップを行うDBのみ指定します。
f:id:live-your-life-dd18:20200323175742p:plain


バックアップ先にDiskを選択して、Nextボタンを押下します。
f:id:live-your-life-dd18:20200323175903p:plain


ログ・レポートはデフォルト設定を使用します。
f:id:live-your-life-dd18:20200323180028p:plain


最後に設定内容の確認をして、Finishボタンを押下します。
f:id:live-your-life-dd18:20200323180119p:plain


メンテナンスプランの実行でエラーが発生していないことを確認できました。
f:id:live-your-life-dd18:20200323180206p:plain


[Maintenance Plans]フォルダ配下に指定した名前でメンテナンスプランが作成されていることを確認できます。
f:id:live-your-life-dd18:20200323180313p:plain

バックアップ取得確認

メンテナンスプラン名で右クリックして、Modifyを選択するとメンテナンスプランのデザイン画面が表示され、フルバックアップのタスクが設定されていることがわかります。
f:id:live-your-life-dd18:20200323180439p:plain


バックアップタスクで右クリックしPropertiesを選択、[DestinationAutoFolderPath]項目に記載のパスを確認して、バックアップが取得されていることを確認します。
f:id:live-your-life-dd18:20200323180924p:plain

感想及び所感

タスクの組み合わせ次第で、整合性の確認→フルバックアップの取得→差分バックアップの取得、といった順序性を持ったメンテナンスタスクの実行ができるので、SQLServerを管理する場合は使ったほうが便利ですね。