BAT代码:

@echo off
Title DataBase
Color 0A
:caozuo
echo.
echo ═══════════════════════════════════════
echo 【数据库操作】:
echo 1.删除数据库
echo 2.还原数据库
echo 3.操作3
echo 4.操作4
echo 5.操作5
set /p n=输入操作号:
if "%n%"=="" cls&goto :caozuo
if "%n%"=="1" call :1
if "%n%"=="2" call :2
if "%n%"=="3" call :3
if "%n%"=="4" call :4
if "%n%"=="5" call :5
if /i "%n%"=="n" exit
pause
goto :eof :1
echo. 删除数据库开始…………
@osql.exe /Usa /Psa@123456 /Slocalhost /dmaster /i C:\Users\310171611\Desktop\142\database\DropDB.sql
echo. 删除数据库结束…………
goto :caozuo :2
echo. 还原数据库开始…………
@osql.exe /Usa /Psa@123456 /Slocalhost /dmaster /i C:\Users\310171611\Desktop\142\database\RestoreDB.sql
echo. 还原数据库结束…………
goto :caozuo
goto :caozuo :3
echo 操作3
goto :caozuo :4
echo 操作4
goto :caozuo :5
echo 操作5
goto :caozuo

bat文件中调用的是 dos命令 osql,大家对应的修改相应的链接字符串即可

RestoreDB.sql,DropDB.sql 为常用的sql文件,可以换成任意的sql

 DropDB.sql 

use master
go
alter database dbEMS set single_user with rollback immediate
--将数据库回滚到原始配置状态
go
drop database dbEMS--删除数据库
GO
use master
go
alter database dbEMSConfig set single_user with rollback immediate
--将数据库回滚到原始配置状态
go
drop database dbEMSConfig--删除数据库
GO

RestoreDB.sql

USE MASTER
go
if db_id('dbEMS') is not null
DROP DATABASE dbEMS
GO
create DATABASE dbEMS
RESTORE DATABASE dbEMS
FROM DISK = 'C:\Users\310171611\Desktop\142\database\dbEMS_A.bak'
WITH MOVE 'dbEMS' TO 'C:\database\dbEMS.mdf', MOVE 'dbEMS_log' TO 'C:\database\dbEMS_log.ldf',
STATS = 10, REPLACE
GO declare @msg varchar(70)
if (@@ERROR <> 0 )
begin
select @msg=convert(char(26),getdate(),9)+'-----dbEMS还原数据失败或出现异常'
print @msg
end
else
begin
select @msg=convert(char(26),getdate(),9)+'-----dbEMS数据库还原完毕'
print @msg
END
-------------------------------------------------------------------------
USE MASTER
go
if db_id('dbEMSConfig') is not null
DROP DATABASE dbEMSConfig
GO
create DATABASE dbEMSConfig
RESTORE DATABASE dbEMSConfig
FROM DISK = 'C:\Users\310171611\Desktop\142\database\dbEMSConfig_A.bak'
WITH MOVE 'dbEMSConfig' TO 'C:\database\dbEMSConfig.mdf', MOVE 'dbEMSConfig_log' TO 'C:\database\dbEMSConfig_log.ldf',
STATS = 10, REPLACE
GO declare @msg varchar(70)
if (@@ERROR <> 0 )
begin
select @msg=convert(char(26),getdate(),9)+'-----dbEMSConfig还原数据失败或出现异常'
print @msg
end
else
begin
select @msg=convert(char(26),getdate(),9)+'-----dbEMSConfig数据库还原完毕'
print @msg
end

其他的附加,分离的功能大家可以根据自己的情况来写sql脚本。

bat 操作数据库(附加,分离,删除,还原)的更多相关文章

  1. sqlserver数据库附加分离备份还原命令

    --获取所有数据库的名称 select [name] from master.dbo.sysdatabases where [name]='master' --判断数据库是否存在 if exists( ...

  2. php 用封装类的方法操作数据库和批量删除

    封装类 <?php class DBDA { public $host="localhost"; //服务器地址 public $uid="root"; ...

  3. DDL_操作数据库_创建&查询和DDL_操作数据库_修改&删除&使用

    DDL操作数据库.表 1.操作数据库:CRUD C(Create):创建 创建数据库: create database 数据库名称: 创建数据库判断不存在再创建 create database if ...

  4. Redis 先操作数据库和先删除缓存, 一致性分析

    初始状态: 数据库和缓存中v=10 第一种,先删除缓存在操作数据库: 线程1准备更新数据库的值v=20,先删除缓存, 此时线程2进来, 缓存未命中,查询数据库v=10, 写入缓存v=10, cpu回到 ...

  5. bat操作数据库mysql

    createDB.bat文件内容: @echo off cd C:/Program Files/cl_ZWL_App/<a href="http://lib.csdn.net/base ...

  6. SQL 数据库 学习 005 学习必备的一些操作 --- 如何新建数据库 如何附加和分离数据库(如何备份还原数据库) 如何删除数据库

    我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 如果我们要学习这个数据库,我们需要学习什么知识.比如:如何新建一个数据库 ...

  7. 数据库开发基础 SQL Server 数据库的备份、还原与分离、附加

    认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是 一.在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点 二. ...

  8. SQL 数据库的备份,还原,分离和附加以及聚合函数

    数据库备份 数据库备份可以手动备份和语句备份 一.手动备份数据库 1.鼠标右键选择你要进行备份的数据库-任务-备份 可以在常规选项页面你可以选择备份类型是进行完整数据库备份还是差异数据库备份 2.点击 ...

  9. 用分离、附加的方式实现sql server数据库的备份和还原

    一.数据库分离.附加的说明 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用 ...

随机推荐

  1. BZOJ4255:Keep Fit!

    浅谈\(K-D\) \(Tree\) 题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=4255 莫队加\(kd\) \(tree\),直接 ...

  2. CF 36E Two Paths——欧拉路

    题目:http://codeforces.com/contest/36/problem/E 找出两条欧拉路覆盖无向图. 套上欧拉路模板.用过的边要记录. 注意 一个连通块.4个奇度数点 的情况是在两个 ...

  3. 关于本地模块安装入maven仓库出现的异常

    Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.9.RELEASE:repackage (de ...

  4. HDU1560(迭代加深搜索)

    DNA sequence Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  5. 【转载】Linux 进程调度时间测量

    测试Context Switch time(进程上下文切换时间) --------------------------------------------------     创建两个进程(实时进程) ...

  6. kubernetes 学习 ingress

    ingress是Kubernetes 暴露服务的一种方式. Ingress由两部分组成:Ingress Controller 和 Ingress 服务.     Ingress Contronler ...

  7. [iOS]UIImageView增加圆角

    [iOS]UIImageView增加圆角 "如何给一个UIImageView增加圆角?有几种方法?各自区别?" 备注:本文参考自http://www.jianshu.com/p/d ...

  8. iOS按home键后程序的状态变化

    iOS 的应用里的几种状态: active: 应用在前台正常运行 background: 应用在后台,并且在执行代码. inactive: 这个状态是应用从一个状态向另一个状态的过渡 suspende ...

  9. Java 的三个注释

    单行注释 // 这是名为 a 的类 class a{ } 多行注释 /* 这是多行注释 可以注释多行 */ class a{ } 文档注释 /** 这是文档注释 可以注释多行 */ class a{ ...

  10. Oracle中REGEXP_SUBSTR函数(字符串转多行)

    Oracle中REGEXP_SUBSTR函数 Oracle中REGEXP_SUBSTR函数的使用说明: 题目如下: 在oracle中,使用一条语句实现将'17,20,23'拆分成'17','20',' ...