ブログ

2020/07/20
【プリザンター】 第54回)データベースのバックアップ方法について

プリザンターのデータベースのバックアップ

こんにちは、2回目の投稿になります、CCSの徐(じょ)です。
プリザンターのスクリプトの開発を担当しております。

プリザンターをご利用の皆様は、プリザンターのバックアップは取得されていますでしょうか?
何か問題があったときに、バックアップがないと一大事です。もしもの時のためにバックアップは取得しておくことをお勧めします。
ということで、今回はプリザンターのデータベースのバックアップ方法を説明いたします。

通常は、SQL Server Management Studio の管理画面から設定される方も多いかと思いますが、当社では、SQL文とタスクスケジューラとの連携による定期的(平日の月曜日から金曜日の午前1時)にバックアップを実施しております。
この方法について、詳細を次で説明します。

バックアップの詳細設定

まずはバッチファイルを作成します。
テキストエディタ等で、以下の一行のコマンドを記載し、ファイル名は、「backup.bat」として保存します。

sqlcmd -S {インスタンス} -U sa -P XXXXXX -i C:\backup\01_Monday\backup.sql > C:\backup\01_Monday\backup_Mon.log

-S(サーバー オプション)で、sqlcmd が接続する Microsoft SQL Server のインスタンスを指定します。
-U(ユーザ名)、 -P(パスワード) は、sqlcmd が SQL Server のインスタンスに接続するために使用する資格情報を指定します。
-i は、SQL文を記載したファイルの場所を指定します。(以下で作成方法を説明しています)

次にSQLファイルを作成します。
上記と同様に、テキストエディタ等で、以下のコマンドを記載し、ファイル名を「backup.sql」として保存します。

BACKUP DATABASE [Implem.Pleasanter] TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\01_Monday\Implem.Pleasanter.bak' WITH NOFORMAT, INIT, NAME = N'Implem.Pleasanter-完全 データベース バックアップ', SKIP
GO


上記にSQLファイルについて少し詳しく説明いたします。
DATABASE の後にデータベース名、TO DISK = の後に保存先のパスとファイル名を指定します。
WITHステートメント で各種オプションをしています。
NOFORMAT はバックアップ操作において、このバックアップ操作に使用するメディア ボリューム上の既存のメディア ヘッダーとバックアップ セットを保持するように指定します。
INIT ... 上書きを指定します。
SKIP ... バックアップ セットの有効期限と名前の確認を無効にします。

ここまでできたら、backup.batをタスクスケジューラで起動時間を指定して、定期的に動作をさせます。
世代管理をする場合は、タスクスケジューラを曜日ごとに動かして、保存する先やファイル名を変えるなどして調整します。
うまく動かなかった場合などを把握するために、定期的にタスクスケジューラの状況は確認するようにしてください。
エラー時にメールを送信したりするなどしてもよいかもしれません。

まとめ

さて、いかがでしたか?

今回は、プリザンター用のデータベース(sqlServer)のバックアップ方法について説明をしました。
バックアップを取られていない方は、今回の内容を参考にバックアップを定期的に取得してみてください。

導入の支援、スクリプト開発などでお困りの場合は、当社で支援もいたします。

☆☆ブログ内容への質問や追加説明をご希望の方は
【問い合わせフォーム】 こちら からお気軽にお問い合わせください☆☆

PAGE TOP