备份数据库.bat
@echo offset path=%path%;C:\Program files (x86)\Microsoft sql Server\Tools\Binnecho 数据库备份开始osql.exe -S 127.0.0.1 -U sa -P 123456 -i sqlserverbackup.sql -o c:\backup\sqlserverbackup.outecho 数据库备份完成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),108),':','')set @path='c:\backup\'set @bakfile=@path+''+@name+'_'+'bak_'+@datetime+'.BAK'backup database @name to disk=@bakfile with name=@namego
还原数据库.bat
@echo offecho 开始还原数据库net start "mssqlserver"osql -U sa -P 123456 -i c:\backup\sqlserverrestore.sql -o c:\backup\sqlserverrestore.outecho 还原数据库完成pause
sqlserverrestore.sql
declare @dumpfile varchar(50)declare @msg varchar(70) select @dumpfile = 'c:\backup\DataSample_bak_20170718145556.BAK' select @msg=convert(char(26),9) print @msg restore DATABASE DataSample from disk=@dumpfileif (@@ERROR <> 0 )begin select @msg=convert(char(26),9)+'-----还原数据失败或出现异常' print @msgendelsebegin select @msg=convert(char(26),9)+'-----数据库还原完毕' print @msgend
declare @dumpfile varchar(50)declare @msg varchar(70) select @dumpfile = 'c:\backup\DataSample_bak_20170718161443.BAK' select @msg=convert(char(26),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),9)+'-----数据库还原完毕' print @msgend总结
以上是内存溢出为你收集整理的批处理(bat)实现SQLServer数据库备份与还原全部内容,希望文章能够帮你解决批处理(bat)实现SQLServer数据库备份与还原所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)