绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
sqlserver实现bat自动备份和恢复
2023-02-20 17:36:48

备份数据库.bat


@echo off


set path=%path%;C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn


echo 数据库备份开始


osql.exe -S 127.0.0.1 -U sa -P 123456 -i sqlserverbackup.sql -o c:\backup\sqlserverbackup.out


echo 数据库备份完成


pause






sqlserverbackup.sql

DECLARE @name varchar(50)


DECLARE @datetime char(14)


DECLARE @path varchar(255)


DECLARE @bakfile varchar(255)


set @name='DataSample'


set @datetime=CONVERT(char(8),getdate(),112) + REPLACE(CONVERT(char(8),getdate(),108),':','')


set @path='c:\backup\'


set @bakfile=@path+''+@name+'_'+'bak_'+@datetime+'.BAK'


backup database @name to disk=@bakfile with name=@name


go











还原数据库.bat


@echo off


echo 开始还原数据库


net start "mssqlserver"


osql -U sa -P 123456 -i c:\backup\sqlserverrestore.sql -o c:\backup\sqlserverrestore.out


echo 还原数据库完成


pause






sqlserverrestore.sql


declare @dumpfile varchar(50)


declare @msg varchar(70)


select @dumpfile = 'c:\backup\DataSample_bak_20170718145556.BAK'


select @msg=convert(char(26),getdate(),9)


print @msg





restore DATABASE DataSample from 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









declare @dumpfile varchar(50)


declare @msg varchar(70)


select @dumpfile = 'c:\backup\DataSample_bak_20170718161443.BAK'


select @msg=convert(char(26),getdate(),9)


print @msg






----同一个备份文件还原成不同名称数据库


RESTORE DATABASE DataSample1


FROM disk=@dumpfile


WITH RECOVERY,


MOVE 'DataSample' TO 'D:\MyData\DataSample1.mdf',


MOVE 'DataSample_Log' TO 'D:\MyData\DataSample1_Log.ldf'






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


本文来源https://blog.csdn.net/u011334954/article/details/93623339

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Microsoft SQL Server
创建时间:2022-03-30 11:29:11
Microsoft SQL Server
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • itt0918
    专家
戳我,来吐槽~