批处理(bat)实现SQLServer数据库备份与还原

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 原文:批处理(bat)实现SQLServer数据库备份与还原 备份数据库.bat @echo off set path=%path%;C:\Program Files (x86)\Mi...
+关注继续查看
原文:批处理(bat)实现SQLServer数据库备份与还原

备份数据库.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
目录
相关文章
|
存储 数据库
sqlserver数据库还原存储过程脚本
sqlserver数据库还原存储过程脚本
89 0
|
SQL 数据库
Sqlserver高版本还原到低版本方法(Sqlserver2012到SqlServer2008 R2)(3)
Sqlserver高版本还原到低版本方法(Sqlserver2012到SqlServer2008 R2)(3)
177 0
Sqlserver高版本还原到低版本方法(Sqlserver2012到SqlServer2008 R2)(3)
|
SQL
Sqlserver高版本还原到低版本方法(Sqlserver2012到SqlServer2008 R2)(2)
Sqlserver高版本还原到低版本方法(Sqlserver2012到SqlServer2008 R2)(2)
161 0
Sqlserver高版本还原到低版本方法(Sqlserver2012到SqlServer2008 R2)(2)
|
SQL 数据库
Sqlserver高版本还原到低版本方法(Sqlserver2012到SqlServer2008 R2)(1)
Sqlserver高版本还原到低版本方法(Sqlserver2012到SqlServer2008 R2)(1)
546 0
Sqlserver高版本还原到低版本方法(Sqlserver2012到SqlServer2008 R2)(1)
|
SQL 数据库
如何把高版本的sqlserver 还原到低版本的 sqlserver
原文:如何把高版本的sqlserver 还原到低版本的 sqlserver 本例为sql2012 还原到sql2008。 要实现的功能是把sql2012的数据库备份到sql2008,数据库名字为Test,并且这两个数据库在不同的电脑中。
2377 0
|
SQL 数据库
sql server 备份与恢复系列四 大容量模式下的备份与还原
原文:sql server 备份与恢复系列四 大容量模式下的备份与还原 一. 概述   在sql server 备份与恢复系列的第一篇里,有讲到大容量模式下备份与还原的相关知识。这篇重点来演示在大容量模式下常用的备份与还原模式“完整备份+差异备份+日志备份”。
976 0
|
SQL Go 数据库
sql server 备份与恢复系列三 简单恢复模式下的备份与还原
原文:sql server 备份与恢复系列三 简单恢复模式下的备份与还原 一.概述   前面讲了备份的一些理论知识,这篇开始讲在简单恢复模式下的备份与还原。在简单模式下是不能做日志备份的,发生灾难后,数据库最后一次备份之后做的数据修改将是全部丢失的,所以在生产环境下,数据又很重要,一般不建议使用这种模式。
1035 0
|
数据库 SQL 关系型数据库
SQLSERVER 数据库备份脚本-支持多库备份
原文:SQLSERVER 数据库备份脚本-支持多库备份 --变量定义 DECLARE @backupfile VARCHAR(1024) DECLARE @backdesc VARCHAR(1024) DECLARE @filename ...
1075 0
推荐文章
更多