SQLCMD的介绍(mssqlserver批量导入大数据的sql 或者定时批处理 sql 或者导入)

应用场景:ms-sqlserver批量导入大数据的sql 或者定时批处理 sql 或者导入的时候

处理方案:使用 sqlcmd 工具来处理

如果装的是2000版的sql那用的命令是osql,05及其以上就用sqlcmd。

格式介绍如下:

命令 sqlcmd -S 服务器名称 -U 帐户 -P 密码
示例 sqlcmd -S “HOMESQLEXPRESS” -U “sa” -P “12345678”
直接执行SQL Script
命令 sqlcmd -S 服务器名称 -U 帐户 -P 密码 -d 数据库 -i SQL Script
示例 sqlcmd -S “HOMESQLEXPRESS” -U “sa” -P “12345678” -d “Database” -i “E:\My Documentstest.sql”
如果要定时执行批量任务,可以新增bat文件,使用定时任务来执行,并可反馈结果

如:
1、My Documentstest.sql 应为反馈结果的函数

2、sqlcmd -S “HOMESQLEXPRESS” -U “sa” -P “12345678” -d “Database” -i “E:\My Documentstest.sql” -o E:\mycount.log

http://blog.sina.com.cn/s/blog_3eec0ced0100mhm2.html

1、你可以用SQLCMD执行交互式动作,如:
C:\sqlcmd>sqlcmd
1> SELECT name from sys.databases
2> GO
你也可以试着键入如下命令,现实服务器列表
1>:ServerList
SERVERS:
WUYZ
1>如果想看其他命令的使用,可以键入:Help /?
2、执行SQL脚本文件
你可以在SQLCMD命令上加入参数I来执行SQL脚本文件,例如:
C:\sqlcmd>sqlcmd -i test.sql
上面的I选项允许你执行一个脚本文件,另外,你也可以指定O选项,把命令的输出导出到指定文件,当然,我们也可以在代码中指定输出结果,如下
C:\sqlcmd>sqlcmd
1> :out output.txt
2> :r test.sql
3、在脚本中使用变量
SQLCMD支持可以在脚本中接收用户传入的变量信息,如下面语句:
SET NOCOUNT ON
Select (Cols)from (tablename)
GO
上面语句请求2个参数,我们可以通过指定相应的参数信息传给脚本,如下:
C:\sqlcmd>sqlcmd -i test.sql -o Output.txt -v cols=”name,object_id,create_date” tablename=”sys.objects”
上面语句的用途是:执行TEST.SQL脚本文件,并把输出的信息输出到OUTPUT.TXT文件中,并分别指定了COLS,TABLENAME的参数值
4、在脚本中设置变量的值
除了通过外部传入参数的值外,还可以在内部设置参数的值,如下面例子
e:\sqlcmd\backuptemplate.sql
use master
backup database [ (db)]todisk= (file)’
e:\sqlcmd\backupsingle.sql
:setvar db msdb
:setvar file c:\temp\msdb.bak
:r e:\sqlcmd\backuptemplate.sql
如果你想知道当然定义了哪些变量,可以使用:listvar命令来显示。

参数说明如下:

用法: 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 禁用变量情况]

[-? 显示语法摘要]

你可能感兴趣的:(windows,mssql,sql,mssqlsever)