bat 操作数据库(附加,分离,删除,还原)

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 操作数据库(附加,分离,删除,还原)的更多相关文章
- sqlserver数据库附加分离备份还原命令
--获取所有数据库的名称 select [name] from master.dbo.sysdatabases where [name]='master' --判断数据库是否存在 if exists( ...
- php 用封装类的方法操作数据库和批量删除
封装类 <?php class DBDA { public $host="localhost"; //服务器地址 public $uid="root"; ...
- DDL_操作数据库_创建&查询和DDL_操作数据库_修改&删除&使用
DDL操作数据库.表 1.操作数据库:CRUD C(Create):创建 创建数据库: create database 数据库名称: 创建数据库判断不存在再创建 create database if ...
- Redis 先操作数据库和先删除缓存, 一致性分析
初始状态: 数据库和缓存中v=10 第一种,先删除缓存在操作数据库: 线程1准备更新数据库的值v=20,先删除缓存, 此时线程2进来, 缓存未命中,查询数据库v=10, 写入缓存v=10, cpu回到 ...
- bat操作数据库mysql
createDB.bat文件内容: @echo off cd C:/Program Files/cl_ZWL_App/<a href="http://lib.csdn.net/base ...
- SQL 数据库 学习 005 学习必备的一些操作 --- 如何新建数据库 如何附加和分离数据库(如何备份还原数据库) 如何删除数据库
我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 如果我们要学习这个数据库,我们需要学习什么知识.比如:如何新建一个数据库 ...
- 数据库开发基础 SQL Server 数据库的备份、还原与分离、附加
认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是 一.在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点 二. ...
- SQL 数据库的备份,还原,分离和附加以及聚合函数
数据库备份 数据库备份可以手动备份和语句备份 一.手动备份数据库 1.鼠标右键选择你要进行备份的数据库-任务-备份 可以在常规选项页面你可以选择备份类型是进行完整数据库备份还是差异数据库备份 2.点击 ...
- 用分离、附加的方式实现sql server数据库的备份和还原
一.数据库分离.附加的说明 SQL Server提供了"分离/附加"数据库."备份/还原"数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用 ...
随机推荐
- SQL Sever 学习系列之一
SQL Sever 学习系列之一 本学习系列,从实际工作需要中积累,对于一个新手而言,写出几条漂亮的查询语句,应该是可以受启发的. 一.问题的需求是:员工薪酬发放,现有资金能发放多少人,哪些人应得? ...
- laravel 添加自定义类 全局自定义方法 自定义常量
添加自定义类 https://blog.csdn.net/suchfool/article/details/38758367 https://blog.csdn.net/liukai6/article ...
- Gradle 配置
下载Gradle https://gradle.org/releases/ https://services.gradle.org/distributions/gradle-4.4.1-bin.zip ...
- 自定义mysql函数时报错,[Err] 1418 - This function has none of DETERMINISTIC......
今天在我执行自定义mysql函数的SQL时发生了错误,SQL如下: /** 自定义mysql函数 getChildList */delimiter //CREATE FUNCTION `pengwif ...
- java bean Format注解用法
@NumberFormat(style=Style.NUMBER) private int number; @DateTimeFormat(pattern="yyyy-MM-dd&qu ...
- U盘操作
一.8G的U盘被设置为2G,如何恢复 1.下载usboot 1.7 打开以后,选中U盘,点击[点击此处选择工作模式],选择[用0重置参数] ,然后点[开始].2.完成后它会提示拔下U盘,此时拔下U盘, ...
- mysql查询最近30天、7天、每天、昨天、上个月的记录
一些变量说明: add_time为插入的时间 to_days是sql函数,返回的是个天数 data_sub(date,INTERVAL expr type)给指定的日期减去多少天 data()函数 ...
- 简单的windows作业管理(自己也没弄透彻)
先把代码贴出来,以后有时间再研究!简单的说,作业就相当于沙箱,可以使程序在一定范围内活动. #include "stdafx.h"#include "windows.h& ...
- SharedPreferences 用法
private void getUserInfoFromPref(){ /* * 保存到文件的方法 * * Constant.user = (User)Constant.readObjectFromF ...
- lucene、solr中的日期衰减方法-------function query --尚未测试在solr4.8
经常有一种情景是这样的:我们索引了N年的文章,而查询时候无论直接用相关度.或者用时间排序,都是比较鲁莽的:我们想要一种既要相关度比较高,又要时间上比较新的文章. 这时候的解决办法就是,自定义日期衰减的 ...