win10系统 用bat自动备份sqlserver2007

win10系统 用bat自动备份sqlserver2007,第1张

-----sql脚本

declare @fileName varchar(255) ,--定义备份文件名变量

@dbname varchar(255)--定义备份数据库名变量

declare mycursor cursor fast_forward for select name from master..sysDatabases order by name --定义一个游标对象

open mycursor --打开游标

set @dbname='pysf'

set @fileName = 'D:\bakck\1\'+@dbname+convert(varchar(10),getdate(),112)+'.bak' --定义当前备份文件存放路径

backup database @dbname to disk=@fileName--循环备份当前数据库

fetch next from mycursor into @dbname --再次取值

close mycursor --关闭游标

-------------bat命令

@echo off

osql -U sa -P 123 -d pysf -i .\数据备份脚本.sql >log1.log

pause

------------------

sa--用户名

123--密码

pysf--数据库名

\数据备份脚本.sql---脚本名字(如果使用bat命令俩执行脚本,建议sql脚本和bat文件在同一级目录下)

isql -U sa -P password -d master -Q"BACKUP DATABASE [databasename] to disk='D:\DB\databasename_%date:~0,4%%date:~5,2%%date:~8,2%0400.BAK'"

这是sql2000的,你试一下,一般能通用。

注意用户和密码需要管理员权限 修改一下,还有数据库名修改一下

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

md "E:\数据备份\%ymd%"

"D:\MySQL\bin\mysqldump.exe" --opt -Q mysql -uroot -p123456789 >

E:\数据备份\%Ymd%\mysql.sql

REM ..... 这里可以添加更多的命令,要看你有多少个数据库,其中 -Q 后面是数据库名称

-p紧跟后面是密码

echo Winrar loading...

"C:\Program Files\WinRAR\WinRAR.exe" a

-ep1 -r -o+ -m5 -df "E:\数据备份\%Ymd%.rar" "E:\数据备份\%Ymd%"

echo OK!

把上面的命令保存为 backup.bat ,双击运行,就开始备份数据了。

第一句是建立一个变量 %Ymd% ,通过

%date% 这个系统变量得到日期,%date:~,4% 表示取日期的前面4个字符就是年份,%%date:~5,2%

表示取日期第5个字符开始的2个字符就是月份,%date:~8,2% 这个就是日期号数,如 2009-06-20 这个日期最后得到的结果是 20090620

第二句就是使用变量 %Ymd% 的值建立一个空的文件夹。

第三句开始就是使用MySQL的命令对数据库mysql进行备份,并存储在

E:\数据备份\%ymd% 这个文件夹下面,这里可以有很多类似的命令,备份多个数据库。

最后就是使用 WinRAR 对备份的数据进行压缩,并存储为以

%Ymd% 变量值建立的RAR文件名,同时删除备份的 %Ymd% 目录。

如果你想让系统自动定期备份,就可以通过系统的任务计划定期执行这个命令。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9996391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存