Schedule Backup SQL Express Database with batch file
เนื่องจาก SQL Express ไม่มี Maintenance plan และ SQL Server Agent หนึ่งในวิธีที่ใช้ในการทำ Automation Backup คือการใช้ batch file ร่วมกับ Windows schedule take
- เริ่มจากสร้างไฟลที่ใช้ในการทำโดยสร้าง 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'"
-
สร้าง 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
-
เมื่อ task schedule ทำงานเราก็จะได้ File Backup ตามที่เราตั้งไว้