如果安装的数据库不是完整版,在管理中可能没有“维护计划”这一项,这也就意味着不能利用数据库管理工具来对数据库进行定期的备份,那么在这个时候如何对数据库进行定期的备份呢?
下面我将利用系统的“任务计划”让SQL Server 2008 数据库自动备份的操作过程分享给大家。
1、新建文本文档,将以下代码复制、粘贴后点击保存。
注意:
①保存之前更换数据库服务器名称、数据库登录用户名、数据库登录密码、数据库名称、备份文件所在的路径等;
②确保备份文件所在的路径存在;
③第5行的DayAgo=30表示将会删除30天之前备份的数据,可以根据需要来更改。
sqlcmd -S "数据库服务器名称" -U 数据库登录用户名 -P 数据库登录密码 -d 数据库名称 -Q"BACKUP DATABASE 数据库名称 to Disk='D:ackup\%date:~0,4%-%date:~5,2%-%date:~8,2%.bak'" @echo off rem 计算指定天数之前的日期 set DaysAgo=30 rem 假设系统日期的格式为yyyy-mm-dd call :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDays set /a PassDays-=%DaysAgo% call :DaysToDate %PassDays% DstYear DstMonth DstDay set DstDate=%DstYear%-%DstMonth%-%DstDay% del /f /s /q D:ackup\%DstDate%.bak goto :eof EXIT :DateToDays %yy% %mm% %dd% days setlocal ENABLEEXTENSIONS set yy=%1&set mm=%2&set dd=%3 if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%) set /a dd=100%dd%%%100,mm=100%mm%%%100 set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2 set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633 endlocal&set %4=%j%&goto :EOF :DaysToDate %days% yy mm dd setlocal ENABLEEXTENSIONS set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5 set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10 (if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%) endlocal&set %2=%yy%&set %3=%mm%&set %4=%dd%&goto :EOF
2、将保存后的文件重命名为“数据库自动备份.bat”,注意后缀名一定要为.bat,文件名没有要求。将文件放在磁盘任意位置,确保不会被删除即可(若文件被删除,数据库将不会进行自动备份)。
3、点击“开始”-“设置”-“控制面板(经典视图)”-“任务计划”。
4、双击打开“添加任务计划”,弹出对话框,如图所示:
5、单击【下一步】,选择要在Windows上运行的程序,如图所示:
5、单击【浏览】,选择刚刚重命名为“数据库自动备份.bat”的文件,选择后如图所示:
可以选择执行这个任务的周期:每天、每周、每月、一次性、计算机启动时、登录时。可以根据相应的需求来选择数据库备份的周期,这里选择“每天”进行操作。
6、单击【下一步】,如图所示:
选择任务运行的起始时间和日期,一般数据库备份都选择在下半夜进行,下半夜可能是访问人数最少的时候,这里起始时间选择02:00,运行这个任务选择“每天”,起始日期也就是从今天开始,起始时间、起始周期可以根据相应的需求来选择。
7、单击【下一步】,如图所示:
注意:这里的用户名和密码是计算机系统的用户名和密码,而不是数据库的用户名和密码。
用户名一般会自动填上了,只要输入密码就好了,如果账户没有创建密码,就空着不填就好。
8、单击【下一步】,如图所示:
9、单击【完成】,完成数据库自动备份任务计划。
10、如果安装了杀毒软件,可能会提示“有程序试图修改计划任务”,允许操作就好了,提示如图所示:
添加完数据库自动备份任务计划后,在“开始”-“设置”-“控制面板(经典视图)”-“任务计划”中可以看到刚刚创建的“数据库自动备份”任务计划。如图所示: