sqlcmd 是sql server 提供的命令行工具,用于执行t-sql/sql脚本 以及系统存储过程。

sqlcmd 常用参数解释如下:

用法: Sqlcmd [-U 登录 ID] [-P 密码] [-S 服务器] [-H 主机名] [-E 信任连接] [-N 加密连接][-C 信任服务器证书] [-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 使用客户端区域设置] [-K 应用程序意向] [-M 多子网故障转移] [-b 出错时中止批处理] [-v 变量 = "值"...] [-A 专用管理连接] [-X[1] 禁用命令、启动脚本、环境变量[并退出]] [-x 禁用变量替换] [-j 打印原始错误消息] [-g 启用列加密] [-G 使用 Azure Active Directory 进行身份验证] [-? 显示语法摘要]

1、使用sqlcmd 采用sql server 身份认证:

sqlcmd -H server_ip -U sa -P password -d db_name -i data.sql

2、使用sqlcmd采用windows身份认证:

sqlcmd -H server_ip -E -d db_name –i data.sql

当我们导入很大的sql 文件数据到数据库中时必须使用sqlcmd 命令行工具,ssms 图形化界面执行有sql 文件大小限制,需要注意。