千家信息网

Windows环境下如何实现批量执行Sql文件

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关Windows环境下如何实现批量执行Sql文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、使用篇1、准备bat文件:1.1、ExecSql.
千家信息网最后更新 2026年11月03日Windows环境下如何实现批量执行Sql文件

这篇文章给大家分享的是有关Windows环境下如何实现批量执行Sql文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、使用篇

1、准备bat文件:
1.1、ExecSql.bat(执行脚本)(文件编码:ANSI,这个编码与下面提到的utf8和gb2312都不一样,用记事本编辑默认就是这个编码,所以不一定要下notepad++)

@ECHO OFFSET dbhost=127.0.0.1SET dbuser=saSET dbpasswd=saSET dbName=ApplicationREM 以下内容不建议修改REM 执行脚本的路径,此处为当前路径SET sqlpath=%~dp0REM 日志文件名SET temp=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.logSET logFileName=%sqlpath%%temp: =0%::执行sql脚本echo 开始执行sql脚本,所有日志记录于%logFileName%for /r %%i in (*.sql) do ( echo %%i被执行 & echo ----- %%i log start ----- >> %logFileName% & sqlcmd -S %dbhost% -U %dbuser% -P %dbpasswd% -d %dbName% -i %%i -k -b -m 10 >> %logFileName% & echo ----- %%i log end ----- >> %logFileName% & @echo. >> %logFileName%)ECHO 完成!PAUSE

1.2、ShowOrder.bat(查看什么脚本会被执行,按什么顺序执行)(文件编码:ANSI)

@ECHO OFFfor /r %%i in (*.sql) do ( echo %%i )ECHO 完成!PAUSE

2、将ExecSql.bat复制到目标根目录下,文件目录结构(文件夹路径最好没有中文),如图,假设我需要执行此文件夹下所有的sql文件

3、【可选做】排序,如果对sql文件的执行顺序有要求的,需要对文件进行重命名,如上图所示,执行顺序为文件名字正序,建议使用"01."这种作为文件名前缀

将ShowOrder.bat复制到目标根目录下,双击运行,查看执行顺序是否符合预期

4、【重要】编码转换,一般情况下.sql文件的编码都是utf8,如果.sql文件内容中,使用了中文(注释不算),则需要修改文件编码是GB2312,否则会执行错误的sql语句。

比如01.XXX.sql的编码是utf8的,但插入数据库的数据却是乱码

以下4.1和4.2择一执行

4.1、修改编码的方法为:使用Notepad打开.sql文件,ctrl+A(全选),ctrl+C(复制),点击Notepad"编码"->"编码字符集"->"中文"->"GB2312",应该会出现一个"无法恢复警告",点"是",ctrl+A(全选),ctrl+V(粘贴),最后保存

4.2、使用工具(EncodingConverter)批量修改:下载好工具后解压即可运行,双击BatchConvertor.exe,如下图所示设置

转化完成后会再执行会得到正确的中文

5、修改bat文件,用Notepad++或别的编辑器打开bat文件,修改ExecSql.bat中的数据库连接相关信息,只改跟连接数据库相关的4个变量即可,其他不需要修改,改完后保存

6、双击bat文件,会有如图所示的输出

7、查看日志,检查每一个.log文件,没有消息就是好消息,一个执行正确脚本的.log文件一般长这样

有错误也会反馈出来,如脚本再执行一次就会报错

特别提醒:此bat文件会检查当前文件夹下所有的.sql文件并执行,再次执行bat时需要删掉一些不用再次执行的.sql文件

二、原理篇

sqlcmd和osql两种命令都可以执行sql文件,两者参数配置项几乎完全一样,这里选用sqlcmd是出于这个的日志输出比较整洁,且微软打算在未来SqlServer中删除osql(不再支持)。两种命令都可以在cmd中使用XXX/?来查询帮助

sqlcmd的官方文档:https://docs.microsoft.com/zh-cn/sql/tools/sqlcmd-utility?view=sql-server-ver15

osql的官方文档:https://docs.microsoft.com/zh-cn/sql/tools/osql-utility?view=sql-server-ver15

感谢各位的阅读!关于"Windows环境下如何实现批量执行Sql文件"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

文件 编码 脚本 内容 数据 日志 顺序 中文 数据库 文件夹 路径 环境 再次 命令 官方 就是 工具 建议 文件名 文档 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 鸠鸠互联网科技 广州宏创互联网科技 深圳天众互联网科技公司 互联网科技公司名称 现代科技和互联网有关系吗 科技与互联网的利与弊 互联网科技产品 中盈科技互联网信息有限公司 字节跳动和互联网科技 来此购互联网科技有限公司 南博望互联网科技有限公司 互联网金融科技名词解释 雨阳互联网卡科技有限公司 互联网科技机房 艺电能源互联网科技有限公司招聘 安徽零酒互联网科技有限公司 恒生科技指数 中概互联网 优雇互联网科技有限公司 互联网科技自媒体灵感 高科技和互联网的现代国家 互联网科技有限公司经营范围 隆华科技工业互联网 承德科技产业互联网发展 深圳市优智互联网科技有限公司 乌苏新华互联网科技做什么的 河南住房之家互联网科技 互联网方面的科技前沿 锡山区互联网智能科技产品供应 富国互联网科技002692 互联网科技大会大佬
0