Schedule Backup SQL Express Database with batch file

เนื่องจาก SQL Express ไม่มี Maintenance plan และ SQL Server Agent หนึ่งในวิธีที่ใช้ในการทำ Automation Backup คือการใช้ batch file ร่วมกับ Windows schedule take

  1. เริ่มจากสร้างไฟลที่ใช้ในการทำโดยสร้าง D:\Backup.bat ขึ้นมา

set ServerSQL="ชื่อ Instance"
set Database="ชื่อ Database"
set BackUpPath="Folder ที่จะใช้ในการ Backup"

set ServerSQL=TEST
set Database=TESTDB
set BackUpPath=D:\Backup\
set BackUpDate=%Date:~-7,2%_%Date:~-10,2%_%Date:~-4,4%
sqlcmd -S %ServerSQL% -E -Q "use %Database%;%Shrink2005%%Shrink%BACKUP DATABASE %Database% TO DISK = '%BackUpPath%bk%BackUpDate%.bak'"
  1. สร้าง Schedule task โดยเข้าไปที่ Start > Administrative Tools > Task Scheduler
    2.1 เลือก Task Scheduler Library > คลิ๊กขวาเลือก Create Basic Task

    2.2 ตั้งชื่อ Task

    2.3 เลือก Task ให้ทำทุกวัน เลือก Daily

    2.4 เลือกวันที่จะให้เริ่มทำ และเวลา

    2.5 เลือกเป็น Start a program เนื่องจากเราเรียกใช้จาก batfile

    2.6 หน้านี้ให้เลือก batchfile ที่สร้างไว้จากข้อ 1



    2.7 Finish

  2. เมื่อ task schedule ทำงานเราก็จะได้ File Backup ตามที่เราตั้งไว้