• 批量执行sql脚本文件


    RestoreAndUpgrade - termsdev.gratte.com.bat:

    @Echo off
    set server=46.32.226.206
    set database=WASPPSDEV
    set user=
    set password=
    set backupfilepath=C:\FtpRoot\TERMS\Backup\UatServer\Databases\waspps\WASPPSv53.bak

    Echo Are you sure you want to overwrite the database %database% on server %server%?
    Pause

    REM Disconnect All Users
    Echo Switching %database% to single user mode to disconnect all other users
    sqlcmd /U%user% /P%password% /S%server% /Q "ALTER DATABASE %database% SET SINGLE_USER WITH ROLLBACK IMMEDIATE"

    REM Restore the backup
    Echo Restoring backup from %backupfilepath%
    sqlcmd /U%user% /P%password% /S%server% /Q "RESTORE DATABASE %database% FROM DISK = N'%backupfilepath%' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10"

    REM Allow all users back in
    Echo Switching %database% to multi user mode to allow user to connect
    sqlcmd /U%user% /P%password% /S%server% /Q "ALTER DATABASE %database% SET MULTI_USER WITH ROLLBACK IMMEDIATE"

    @Echo Run All Scripts Now?
    pause
    REM Run All Scripts
    for %%f in (*.sql) do sqlcmd /U%user% /P%password% /S%server% /d%database% /i "%%f"

    cd..
    cd Final_Static_Data
    for %%f in (*.sql) do sqlcmd /U%user% /P%password% /S%server% /d%database% /i "%%f"

    @Echo All Done
    pause

    RestoreAndUpgradeLocalServer-Waspps.bat:

    @Echo off
    set server=.
    set database=WASPPS
    set user=
    set password=
    set backupfilepath=%~dp0WASPPSv53.bak

    Echo Are you sure you want to overwrite the database %database% on server %server%?
    Pause

    REM Disconnect All Users
    Echo Switching %database% to single user mode to disconnect all other users
    sqlcmd /S%server% /Q "ALTER DATABASE %database% SET SINGLE_USER WITH ROLLBACK IMMEDIATE"

    REM Restore the backup
    Echo Restoring backup from %backupfilepath%
    sqlcmd /S%server% /Q "RESTORE DATABASE %database% FROM DISK = N'%backupfilepath%' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10"

    REM Allow all users back in
    Echo Switching %database% to multi user mode to allow user to connect
    sqlcmd /S%server% /Q "ALTER DATABASE %database% SET MULTI_USER WITH ROLLBACK IMMEDIATE"

    @Echo Run All Scripts Now?
    pause
    REM Run All Scripts
    @Echo On
    for %%f in (*.sql) do sqlcmd /S%server% /d%database% /i "%%f"

    cd..
    cd Final_Static_Data
    for %%f in (*.sql) do sqlcmd /S%server% /d%database% /i "%%f"

    @Echo Off
    @Echo All Done
    pause

  • 相关阅读:
    为什么CAP不能同时满足?
    多线程模式下高并发的环境中唯一确保单例模式---DLC双端锁
    有道词典命令行查询工具(Mac/Ubuntu)
    CentOS 6.9配置EPEL源
    GitHub官方Markdown语法教程
    CentOS 6.9设置阿里云源/163源
    Ubuntu 16.04安装Wine版的微信(deepin-wechat)
    普通主板设置BIOS实现电脑插电自动启动
    IntelliJ IDEA导出设置
    Linux下swap分区多大才合适的问题探讨
  • 原文地址:https://www.cnblogs.com/cw_volcano/p/2995909.html
Copyright © 2020-2023  润新知