Sqlserver自动备份bat

1.bat文件

@echo off
echo 删除30天前的备分文件和日志
forfiles /p "D:\MSSQLBACKUP\bak" /m *.bak /d -30 /c "cmd /c del @path"
set path=%path%;C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn
echo 数据库备份开始
osql.exe -S 127.0.0.1(数据库地址) -U sa(用户名) -P db@126.com(密码) -i sqlserverbackup.sql(路径下sql 代码如下) -o D:\MSSQLBACKUP\sqlserverbackup.out(导出结果文件)
echo 数据库备份完成pause

2.sqlserverbackup.sql

DECLARE @name varchar(50)
DECLARE @datetime char(14)
DECLARE @path varchar(255)
DECLARE @bakfile varchar(255)
set @name='SafetyQuickFlow'
set @datetime=CONVERT(char(8),getdate(),112) + REPLACE(CONVERT(char(8),getdate(),108),':','')
set @path='D:\MSSQLBACKUP\bak\'
set @bakfile=@path+''+@name+'_'+'bak_'+@datetime+'.BAK'
backup database @name to disk=@bakfile with name=@name
go

3.结果在 sqlserverbackup.out 文件中查看 

1> 2> 3> 4> 5> 6> 7> 8> 9> 10> 已为数据库 'XXX',文件 'XXX' (位于文件 1 上)处理了 17832 页。
已为数据库 'XXX',文件 'XXX' (位于文件 1 上)处理了 2 页。
BACKUP DATABASE 成功处理了 17834 页,花费 141.144 秒(0.987 MB/秒)。
1> 

 

 
posted @ 2019-06-28 11:35  yangsir+  阅读(2121)  评论(0编辑  收藏  举报