如何实现bat/cmd批处理连接SqlServer数据库查询脚本
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"如何实现bat/cmd批处理连接SqlServer数据库查询脚本",在日常操作中,相信很多人在如何实现bat/cmd批处理连接SqlServer数据库查询脚本问题上存在疑惑,小编查阅
千家信息网最后更新 2026年10月31日如何实现bat/cmd批处理连接SqlServer数据库查询脚本
这篇文章主要介绍"如何实现bat/cmd批处理连接SqlServer数据库查询脚本",在日常操作中,相信很多人在如何实现bat/cmd批处理连接SqlServer数据库查询脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何实现bat/cmd批处理连接SqlServer数据库查询脚本"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
代码如下:
@echo oFFtitle Zabbix监控之数据库查询bat脚本::名称:Zabbix监控脚本批处理版::描述:通过osql命令行工具查询数据库,进行一些自定义监控::支持:需要osql.exe和MSVCR71.DLL支持,可以放到脚本同级目录::时间:2015-03-20:: 进入脚本当前目录cd "%~dp0"::取得参数set "Usg=%1"::判断参数if "%Usg%"=="" goto Example::初始化连接参数set host="10.172.10.80" set db="DBname"set user="DBuser"set pd="password"::根据不同的参数执行不同的查询代码(自行调整)if "%Usg2%"=="monitor1" ( ::监控1 set sql="sql语句1") else if "%Usg%"=="monitor2" ( ::监控2 set sql="sql语句2" ) else if "%Usg%"=="monitor3" ( ::监控3 set sql="sql语句3") else if "%Usg%"=="monitor4" ( ::监控4 set sql="sql语句4")::连接数据库并执行查询(此处的for是对查询到的结果做提取,所以需要按照实际情况自行搞定。。)for /f "skip=2 delims= " %%i in ('osql.exe -S %host% -U %user% -P %pd% -d %db% -Q %sql%') do ( set result=%%i goto :result)::直接不带参数执行将提示用法:Exampleecho Example:echo=echo %~nx0 Conditionsecho=echo ------------------------------echo Script will auto exit in 5s...ping -n 5 127.1>nulexit::输出结果后自动退出:resultecho %result%使用方法:
①、验证执行:在CMD中执行【脚本.bat + 监控名】即可,比如:D:\>monitor1.bat monitor1
②、关联zabbix:zabbix中怎么设置我就不赘述了,注意下zabbix配置文件zabbix_command.conf如下添加:
UserParameter=NewMonitor[*],cmd /k c:\zabbix\NewMonitor.bat monitor1
Ps:主要是注意,需要添加一个cmd /k前置,否则zabbix执行不了,也得不到数据。
最后附几个 osql.exe 命令的实用参数及相关下载地址:
-U login_id 用户登录 ID。登录 ID 区分大小写。 -P password 是用户指定的密码。如果未使用 -P 选项,osql 将提示输入密码。如果在命令提示符的末尾使用 -P 选项而不带密码,osql 使用默认密码 (NULL)。密码区分大小写。-S server_name[\instance_name] 指定要连接的 Microsoft® SQL Server™ 2000 实例。在该服务器上指定 server_name 以连接到 SQL Server 的默认实例。在该服务器上指定 server_name\instance_name 以连接到一个已命名的 SQL Server 2000 的实例。如果未指定服务器,osql 将连接到本地计算机上的 SQL Server 默认实例。从网络上的远程计算机执行 osql 时,此选项是必需的。 -d db_name 启动 osql 时发出一个 USE db_name 语句。-Q "query" 执行查询并立即退出 osql。将查询用双引号引起来,将查询中嵌入的任何内容用单引号引起来。-q "query" 启动 osql 时执行查询,但是在查询完成时不退出 osql。(注意查询语句不应包含 GO)。如果从批处理文件中发出查询,请使用 %variables 或环境 %variables%。例如: SET table = sysobjects osql /q "Select * from %table%"
到此,关于"如何实现bat/cmd批处理连接SqlServer数据库查询脚本"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
查询
脚本
数据
监控
数据库
参数
语句
密码
实例
学习
命令
服务器
提示
服务
不同
实用
代码
大小
引号
文件
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技股
云信互联网科技有限公司
科技互联网产品
科技互联网技术
科技类互联网
华宇互联网科技
杭州互联网科技公司
中国互联网科技发展
科技互联网公司logo
郑州华宇互联网科技
科技类的互联网平台
华中科技有哪些互联网大佬
茂名市互联网科技产业园
互联网科技创新服务
互联网与医疗科技
广州千川互联网科技有限公司
互联网科技股为什么大涨
全球科技与互联网公司市值变化
云鲸互联网络科技有限公司
互联网高科技绘画
广东猪兼强互联网科技有限公司
苏州找大状互联网科技有限公司
中国互联网科技工作委员会毛军
北京互联网科技公司
北京互联网络科技有限公司
上游互联网科技
阿里巴巴算科技企业还是互联网
启辰互联网科技
互联网科技快讯热点
唐山双旺合互联网科技产业园