用SQLCMD命令行工具执行SQL查询
时间:2011-01-31 来源:bingcaihuang
用法: Sqlcmd 参数
[-U 登录 ID]
[-P 密码]
[-S 服务器]
[-H 主机名]
[-E 可信连接]
[-d 使用数据库名称]
[-l 登录超时值]
[-t 查询超时值]
[-h 标题]
[-s 列分隔符]
[-w 屏幕宽度]
[-a 数据包大小]
[-e 回显输入]
[-I 允许带引号的标识符]
[-c 命令结束]
[-L[c] 列出服务器[清除输出]]
[-q "命令行查询"]
[-Q "命令行查询" 并退出]
[-m 错误级别]
[-V 严重级别]
[-W 删除尾随空格]
[-u unicode 输出]
[-r[0|1] 发送到 stderr 的消息]
[-i 输入文件]
[-o 输出文件]
[-z 新密码]
[-f <代码页> | i:<代码页>[,o:<代码页>]]
[-Z 新建密码并退出]
[-k[1|2] 删除[替换]控制字符]
[-y 可变长度类型显示宽度]
[-Y 固定长度类型显示宽度]
[-p[1] 打印统计信息[冒号格式]]
[-R 使用客户端区域设置]
[-b 出错时中止批处理]
[-v 变量 = "值"...]
[-A 专用管理连接]
[-X[1] 禁用命令、启动脚本、环境变量[并退出]]
[-x 禁用变量情况]
[-? 显示语法摘要]
下面是一个执行sql语句文件进行创建数据库、创建表、输入测试数据的批处理。
“::”是批处理文件的一种注释语法,由两个半角英文冒号组成
“echo”是输出字符串到屏幕
“@echo off”是关闭“执行时输出命令语句到屏幕”
其他说明请看“::”后面的注释
@echo off
echo ************** 执行SQL数据库环境配置 ****************
echo.
echo _____________________________________________________
echo ------------------ 启动SQL2005服务 ------------------
::如果没有启动sql服务,会先启动sql服务。“$”后面的是数据库实例名
net start mssql$sql2005
echo _____________________________________________________
echo.
echo _____________________________________________________
echo -------------- 执行T-SQL语句文件设置数据库 ----------
:: 执行T-SQL语句文件请按照下面的格式写
:: 第一种执行方式
:: 使用了Windows信任连接执行,
:: “".\sql2005"”是“服务器\实例名”
:: “"bbsDB_T-SQL\上机2.sql"”是输入的SQL语句脚本文件存放物理路径,可以是绝对路径或相对本批处理文件路径
sqlcmd -S ".\sql2005" -i "bbsDB_T-SQL\上机2.sql"
:: 第二种执行方式
:: 使用了SqlServer账户连接执行
:: “".\sql2005"”是“服务器\实例名”
:: “-U”后面的“sqlAdminName”是SQLSqlServer账户
:: “-P”后面的“sqlAdminPwd” 是SQLSqlServer账户的密码
:: “"bbsDB_T-SQL\上机2.sql"”是输入的SQL语句脚本文件存放物理路径,可以是绝对路径或相对本批处理文件路径
sqlcmd -U sqlAdminName -P sqlAdminPwd -S ".\sql2005" -i "bbsDB_T-SQL\上机2.sql"
echo.
echo 任务执行完毕
:: 最后给个暂停命令,便于检查是否出错,不加的话,上面的执行完后不管是否出错都会自动退出
pause