Windowsには「タスクスケジューラー」という機能があります。(例:毎日5時にバックアップを取る)
注意点:管理者権限でログインしているPCが動いていること。⇒⇒ つまりサーバーPCでのみスケジュール設定すればそれでOK
準備:まずbatとsqlファイルを準備する
C:\SARA2019S\BackupBat\saraback.bat
1 | sqlcmd -d sara2019 -E -S localhost -i C:\SARA2019S\BackupBat\sarabak.sql > C:\SARA2019S\BackupBat\Backup.log |
C:\SARA2019S\BackupBat\sarabak.sql
例:f:\databackup\フォルダにバックアップする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /* データベース名 */ DECLARE @DATABASE_NAME VARCHAR(MAX) = 'sara2019'; /* 拡張子 */ DECLARE @EXTENSION_NAME VARCHAR(MAX) = '.bak'; /* ディレクトリ名 */ DECLARE @DIRECTRY_PATH VARCHAR(MAX) = 'f:\databackup\'; /* ファイル名 */ DECLARE @FILE_NAME VARCHAR(MAX) = ''; /* ファイルフルパス作成 */ SET @FILE_NAME = @DIRECTRY_PATH + FORMAT(CURRENT_TIMESTAMP,'yyyyMMddHHmmss') + '_' + @DATABASE_NAME + @EXTENSION_NAME; /* バックアップ実行 */ BACKUP DATABASE @DATABASE_NAME TO DISK=@FILE_NAME WITH INIT GO |
設定方法:
taskschd.msc を起動して、、、、」
基本タスクの作成
↓
名前→→→→→→→例:シンサラバックアップ →「次へ」
トリガー→→→ 適当な時間に
操作→→→→→→→ C:\SARA2019S\BackupBat\saraback.batを動かす。(※黒い画面を表示したくない場合は「ショートカット(lnk)を動かす」)→「次へ」