MSSQL Sql Sever通过sqlcmd批处理批量执行脚本

一、概述

应用场景:需要批量执行很多的mssql文件,逐条执行sql文件太费时。
调试环境:本地windows10,要执行数据库在局域网的window ssever 2012服务器上。
本地需要安装sql sever。

1. 检查是否windows命令行知否支持sqlcmd指令

在cmd中 先看一下系统是都能识别命令sqlcmd,正常显示如图所示


image.png

2.批处理脚本

image.png

新建批处理文件,新建一个txt文件并重命名为: mssql_batch.bat,然后把下面的内容复制进去。这个

::echo off
@echo off

:: 数据库主机
@set host=localhost
:: 数据库名称
@set db=testdb
:: 用户名
@set userName=sa
:: 密码
@set password=123456

echo 开始执行数据库脚本...
rem 脚本文件所在目录 等号前后不能有空格
rem 执行sqlscripts文件下的所有脚本文件
rem -S 数据库 -d 数据库实例名 -U 登录用户名 -P 登录密码
for %%i in (sqlscripts\*.sql) do (
  echo 正在执行 %%i 请稍后...
  sqlcmd -S %host% -d %db% -U %userName% -P %password% -i %%i
    echo %%i 执行完毕。
    echo  
)
 
echo 所有脚本执行完毕。

pause

注意:bat文件和sql文件都用ANSI编码,否则可能导致执行不成功。

执行批处理前,需要把要执行的文件拷贝到sqlscripts文件夹下,到时候会依次执行。

结束!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容