备份sql脚本
DECLARE @name varchar(50)
DECLARE @datetime char(8)
DECLARE @path varchar(255)
DECLARE @bakfile varchar(255)
set @name=‘数据库名’
set @datetime=CONVERT(char(8),getdate(),112)
set @path=‘备份路径’
//备份文件名
set @bakfile=@path+’’+@name+’-’+‘bak-’+@datetime+’.BAK’
backup database @name to disk=@bakfile with name=@name
go
bat文件执行sql备份脚本
@echo off
set path=%path%;备份路径名
echo
osql.exe -S 数据库服务器IP地址 -U 数据库用户名 -P 密码 -i sqlserverbackup.sql -o 备份路径名\sqlserverbackup.out
pause
echo
还原sql脚本文件
DECLARE @name varchar(50)
DECLARE @datetime char(8)
DECLARE @path varchar(255)
DECLARE @dumpfile varchar(50)
DECLARE @msg varchar(70)
DECLARE @bakfile varchar(255)
set @name=‘数据库名’
set @datetime=CONVERT(char(8),getdate()-1,112)
set @path=‘备份文件路径名’
//备份文件路径和文件名
set @bakfile=@path+’’+@name+’-’+‘bak-’+@datetime+’.BAK’
select @bakfile
select @msg=convert(char(26),getdate(),9)
print @msg
restore DATABASE 数据库名 from disk=@bakfile
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
bat文件执行sql还原脚本
@echo off
echo 开始还原数据库
osql -U 用户名 -P 密码 -i 备份文件路径名\sqlserverrestore.sql -o 备份文件路径名加粗样式\sqlserverrestore.out
echo 还原数据库完成
pause