sqlServer批处理SQL文件

 

为了进一步简化在更新程序时对SQL脚本的执行操作,我们特别引用了批处理命令来自动执行指定的脚本,而无需在数据库的查询分析器中进行执行。那么什么是批处理文件呢?如何对批处理文件进行编写呢?编写和执行的过程中要注意什么问题呢?下面就这三个问题做具体的解释。
 什么是批处理文件?
后缀是bat的文件就是批处理文件,是一种文本文件,是将DOS命令成批地写进一个文件中,运行时系统按顺序依次运行,效率较高。简单的说,它的作用就是自动的连续执行多条命令,批处理文件的内容就是一条一条的命令。

 如何编写批处理文件?
在知道如何编写批处理文件之前,我们先要了解批处理文件的构成。
简单的说,批处理文件由OSQL参数,及其对应的参数值构成。常见的OSQL参数如下所示:
1  osql                   [-U 登录 ID]          [-P 密码]
2   [-S 服务器]                [-H 主机名]           [-E 可信连接]
3   [-d 使用数据库名称]        [-l 登录超时值]       [-t 查询超时值]
4   [-h 标题]                  [-s 列分隔符]         [-w 列宽]
5   [-a 数据包大小]            [-e 回显输入]         [-I 允许带引号的标识符]
6   [-L 列出服务器]            [-c 命令结束]         [-D ODBC DSN 名称]
7   [-q "命令行查询"]          [-Q "命令行查询" 并退出]
8   [-n 删除编号方式]          [-m 错误级别]
9   [-r 发送到 stderr 的消息]  [-V 严重级别]
10   [-i 输入文件]              [-o 输出文件]
11   [-p 打印统计信息]               [-b 出错时中止批处理]
12   [-X[1] 禁用命令,[退出的同时显示警告]]
13   [-O 使用旧 ISQL 行为禁用下列项]
14       <EOF> 批处理
15       自动调整控制台宽度
16       宽消息
17       默认错误级别为 -1 和 1
18   [-? 显示语法摘要]
   
下面具体讲述如何使用批处理文件执行SQL脚本。
在使用批处理文件执行SQL脚本时,我们只需要用到如下几个参数
序号 参数名 参数解释 示例
1 /u SQLServer用户名 /u sa
2 /p SQLServer密码 /p sa
3 -s 数据库IP -s 192.168.0.45
4 -d 数据库名 -d Northwind
5 -r 发送到 stderr 的消息 (后面不带参数值)
6 -i 输入文件 -i b.sql
7 -o 输出文件 -o a.txt
8 pause 命令暂停标识 (后面不带参数)

编写步骤:
在创建批处理文件之前,首先要创建好两个文件,即:1、要使用批处理文件执行的SQL脚本文件(后缀名为.sql的文件)。2、输出文件(即执行结果文件,后缀名为.txt文件)。
1、 新建批处理文件。先在指定的位置新建一个TXT文件,然后给该文件命名(如命名为aa),再将此文件的后缀名.txt修改成.bat。然后系统会给出如下提示,点击按钮【是】即可。

2、 编写批处理文件。把光标打在新建的批处理文件上,单击鼠标右键,选择以记事本的方式打开批处理文件,即可参照如下例子进行编写。
示例一:(数据库没密码的情况)
OSQL /U sa -S 192.168.0.153 -d NorthWind -r -i a.sql -o a.txt
Pause

示例二:(数据库有密码的情况)
OSQL /U sa /P sa -S 192.168.0.153 -d NorthWind -r -i b.sql -o a.txt
Pause

3、 保存批处理文件。在编写完批处理文件命令后,点击记事本上方工具栏的【文件】---【保存】,或者直接使用快捷键ctrl+s即可。
4、 执行批处理文件。双击批处理文件,点击Enter按钮即可。如果在一个批处理文件中含有多条命令,那么一直惦记Enter按钮,一直到DOS页面显示“按任意键继续...”即可。
5、 查看批处理文件执行结果。双击输出文件,即可看到批处理文件执行结果

 

 

--直接用命令创建2个bat文件,进行批处理

遍历目录中的Sql文件,逐个执行,无需指定具体文件。

创建2个bat文件,CREATE_ALL.bat和CREATE_ALL_File.bat文件。具体内容如下:

CREATE_ALL.bat
ECHO OFF
REM 请设定下面内容
REM SET Driver=D:
REM SET FilePath=D:\MyWork\SQL\
SET User_ID=andy
SET User_PWD=andy
SET ServerName=AndyServer
SET HostName=172.23.9.27
SET DBName=andy

SET Next=------------------------------------------
SET CommandStr=isql -U %User_ID%
SET CommandStr=%CommandStr% -P %User_PWD%
SET CommandStr=%CommandStr% -S %ServerName%
SET CommandStr=%CommandStr% -H %HostName%
SET CommandStr=%CommandStr% -d %DBName%
SET CommandStr=%CommandStr% -i %FilePath%

REM %Driver%
REM CD %FilePath%
REM 执行指定目录中的所有的sql文件
for %%i in (*.sql) do call CREATE_ALL_File.bat %%i
ECHO SQL文件执行完成,请确认上面的执行结果。
pause

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值