批处理实现备份sql数据库!

已为老胡 2011-07-14 PM 956℃ 0条

小胡查阅了网上的一切相关资料,最后做成了现在的工具,备份数据库完成后,窗口提示去查看“备份结果.txt”,这个文件里会输出备份结果的,下面贴出源码! 一共分为两个文件:

备份数据库.bat
REM ServerName是服务器名称,需要替换为实际服务器名称 REM net start命令可启动BackupServer,避免BackupServer被意外关闭后导致自动dump失败 net start "mssqlserver" isql -Usa -Psiss -i F:baksqlbackup.sql -o F:bak备份结果.txt @echo off start mshta vbscript:msgbox("数据库备份已经完成了,请到“备份结果.txt”中查看最终结果!",0,"SQL数据库备份工具")(window.close)
sqlbackup.sql
-- SQLServer2000数据库系统清理用户数据库日志和备份用户数据库数据脚本 -- declare @dumpfile varchar(50) declare @msg varchar(70) select @dumpfile = 'F:bakhbposv7.dat' + datename(yy,getdate()) + datename(mm,getdate()) + datename(dd,getdate()) select @msg=convert(char(26),getdate(),9)+'-----正在清理日志......' print @msg backup tran hbposv7 with truncate_only if (@@ERROR <> 0 ) begin select @msg=convert(char(26),getdate(),9)+'-----清理日志失败或出现异常......' print @msg end else begin select @msg=convert(char(26),getdate(),9)+'-----清理日志完毕......' print @msg end select @msg=convert(char(26),getdate(),9)+'-----开始备份数据库.....' print @msg backup database hbposv7 to disk=@dumpfile if (@@ERROR <> 0 ) begin select @msg='本次备份的结果是'+' '+'时间:'+convert(char(26),getdate(),9)+'-----备份数据失败异常' print @msg end else begin select @msg='本次备份的结果是'+' '+'时间:'+convert(char(26),getdate(),9)+'-----数据库备份完毕' print @msg end

在F盘建立bak文件夹,将两个文件放到bak文件夹中,每次执行“备份数据库.bat”就会在bak中生成类似于“hbposv7.dat20110715”的文件,这就说明备份成功了!

非特殊说明,本博所有文章均为博主原创。

评论啦~