zoukankan      html  css  js  c++  java
  • 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:Users310171611Desktop142databaseDropDB.sql
    echo. 删除数据库结束…………
    goto :caozuo 
    
    :2 
    echo. 还原数据库开始…………
    @osql.exe /Usa /Psa@123456 /Slocalhost /dmaster /i C:Users310171611Desktop142databaseRestoreDB.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:Users310171611Desktop142databasedbEMS_A.bak'
       WITH MOVE 'dbEMS' TO 'C:databasedbEMS.mdf', 
    
       MOVE 'dbEMS_log' TO 'C:databasedbEMS_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:Users310171611Desktop142databasedbEMSConfig_A.bak'
       WITH MOVE 'dbEMSConfig' TO 'C:databasedbEMSConfig.mdf', 
    
       MOVE 'dbEMSConfig_log' TO 'C:databasedbEMSConfig_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脚本。

  • 相关阅读:
    LINQ to XML 操作XML文档
    C#2008与.NET 3.5 高级程序设计读书笔记(3)C#核心编程结构I
    阐述集合类的接口(IEnumerable,IEnumerator,ICollection,IList,IDictionary)
    山塞一个PetShop(Task001)——基本的数据库连接
    山寨一个PetShop(Task002)——数据类库Model
    自定义控件(Task01)——可以设置属性的控件
    ASP.NET连接SQL、Access、Excel数据库(三)——工厂模式
    ASP.NET连接SQL、Access、Excel数据库(一)——什么是ADO.NET
    ASP.NET 2.0 的数据绑定控件概述与区别(GridView、DetailsView、FormView 、Repeater、DataList)
    ASP.NET连接SQL、Access、Excel数据库(二)——连接实例
  • 原文地址:https://www.cnblogs.com/gguozhenqian/p/4063672.html
Copyright © 2011-2022 走看看