一、概述
应用场景:需要批量执行很多的mssql文件,逐条执行sql文件太费时。
调试环境:本地windows10,要执行数据库在局域网的window ssever 2012服务器上。
本地需要安装sql sever。
1. 检查是否windows命令行知否支持sqlcmd指令
在cmd中 先看一下系统是都能识别命令sqlcmd,正常显示如图所示
2.批处理脚本
新建批处理文件,新建一个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文件夹下,到时候会依次执行。
结束!!