批处理(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
目录
相关文章
|
1天前
|
SQL 安全 算法
【SQL server】玩转SQL server数据库:第四章 数据库安全性
【SQL server】玩转SQL server数据库:第四章 数据库安全性
70 12
|
1天前
|
存储 NoSQL 关系型数据库
Percona XtraBackup是否支持MongoDB数据库备份?
【5月更文挑战第13天】Percona XtraBackup是否支持MongoDB数据库备份?
27 1
|
1天前
|
SQL 存储 监控
关系型数据库做好备份
【5月更文挑战第4天】关系型数据库做好备份
31 6
关系型数据库做好备份
|
1天前
|
存储 SQL 数据库
关系型数据库物理备份
【5月更文挑战第1天】物理备份是一种快速、直接的数据库备份方式,适用于需要快速恢复的场景。但是,在选择备份方法时,应该根据具体的需求和场景来权衡物理备份和逻辑备份的优缺点。
37 4
关系型数据库物理备份
|
1天前
|
存储 数据库
sqlserver------数据库的存储过程(练习)
sqlserver------数据库的存储过程(练习)
8 1
|
1天前
|
数据库
sqlserver数据库学习感悟(1)----关于group by
sqlserver数据库学习感悟(1)----关于group by
5 0
|
1天前
|
SQL Oracle 关系型数据库
数据库sqlserver-----触发器的插入,更新和删除
数据库sqlserver-----触发器的插入,更新和删除
12 3
|
1天前
|
SQL 关系型数据库 数据管理
Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
【5月更文挑战第14天】Microsoft SQL Server 是微软公司开发的一款关系型数据库管理系统
13 2
|
1天前
|
存储 JSON 关系型数据库
Percona XtraBackup是否支持Elasticsearch数据库备份?
【5月更文挑战第13天】Percona XtraBackup是否支持Elasticsearch数据库备份?
9 1
|
1天前
|
NoSQL 关系型数据库 MySQL
Percona XtraBackup是否支持Redis数据库备份?
【5月更文挑战第13天】Percona XtraBackup是否支持Redis数据库备份?
9 2