当前位置:文档之家› SQL server cmd 实用工具

SQL server cmd 实用工具

SQL server cmd 实用工具
SQL server cmd 实用工具

SQL server cmd 实用工具

[{ { -U login_id [ -P password ] } | –E trusted connection }] [ -z new password ] [ -Z new password and exit]

[ -S server_name [ \ instance_name ] ] [ -H wksta_name ] [ -d db_na [ -l login time_out ] [ -A dedicated admin connection ]

[ -i input_file ] [ -o output_file ]

[ -f < codepage > | i: < codepage > [ < , o: < codepage > ] ]

[ -u unicode output ] [ -r [ 0 | 1 ] msgs to stderr ]

[ -R use client regional settings ]

[ -q "cmdline query" ] [ -Q "cmdline query" and exit ]

[ -e echo input ] [ -t query time_out ]

[ -I enable Quoted Identifiers ]

[ -v var = "value"...] [ -x disable variable substitution ]

[ -h headers ][ -s col_separator ] [ -w column_width ]

[ -W remove trailing spaces ]

[ -k [ 1 | 2 ] remove[replace] control characters ]

[ -y display_width ] [-Y display_width ]

[ -b on error batch abort ] [ -V severitylevel ] [ -m error_level ] [ -a packet_size ][ -c cmd_end ]

[ -L [ c ] list servers[clean output] ]

[ -p [ 1 ] print statistics[colon format] ]

[ -X [ 1 ] ] disable commands, startup script, enviroment variables [ -? show syntax summary ]

注意:

安全说明:

安全说明:注意:

注意:

返回。如果不指定此选项,则默认为当前计算机名称。此名称可用来标识不同的sqlcmd会话。

-d db_name

启动sqlcmd时发出一个USE db_name语句。此选项设置sqlcmd脚本变量SQLCMDDBNAME。它指定初始数据库。默认为您的登录名的默认数据库属性。如果数据库不存在,则生成错误消息且sqlcmd退出。

-l login time_out

指定在您尝试连接到服务器时OLE DB 访问接口的sqlcmd 登录超时时间(以秒计)。此选项设置sqlcmd脚本变量SQLCMDLOGINTIMEOUT。登录sqlcmd的默认超时时间为8 秒。登录超时设定必须是介于0 和

65534 之间的数字。如果提供的值不是数值或不在此范围内,sqlcmd将生成错误消息。该值为0 时,则允许无限制等待。

-A dedicated admin connection

使用专用管理员连接(DAC) 登录到SQL Server。此类型连接用于排除服务器故障。这只适用于支持DAC 的服务

器。如果DAC 不可用,sqlcmd会生成错误消息,然后退出。有关DAC 的详细信息,请参阅使用专用管理员连接。

输入/输出选项

-i input_file[,input_file2...]

标识包含一批SQL 语句或存储过程的文件。可以指定要按顺序读取和处理的多个文件。文件名之间不要使用任何空格。

sqlcmd 将首先检查所有指定的文件是否都存在。如果有一个或多个文件不存在,sqlcmd将退出。-i 和-Q/-q 选项是互斥的。

路径示例:

-i C:\

-i \\\\

-i "C:\Some Folder\<文件名>"

包含空格的文件路径必须用引号引起来。

此选项可能不止使用一次:-i input_file -i I input_file.

-o output_file

标识从sqlcmd 接收输出的文件。

如果指定了-u,则output_file以Unicode 格式存储。如果文件名无效,将生成一个错误消息,并且sqlcmd将退出。sqlcmd不支持向同一文件并发写入多个sqlcmd

进程。文件输出将损坏或不正确。有关文件格式的详细信息,请参阅-f开关。如果此文件不存在,将创建此文件。

前一个sqlcmd会话中的同名文件将被覆盖。此处指定的文件不是stdout文件。如果指定了stdout文件,将不使用此文件。

路径示例:

-o C:\< 文件名>

-o \\<服务器>\\<文件名>

-o "C:\Some Folder\<文件名>"

包含空格的文件路径必须用引号引起来。

-f< codepage > | i: < codepage > [ <, o: < codepage > ]

指定输入和输出代码页。代码页页码是指定已安装的Windows 代码页的数值。有关详细信息,请参阅安装程序中的排序规则设置。

代码页转换规则:

如果未指定代码页,sqlcmd会将当前代码页同时用于输入文件和输出文件,除非输入文件为Unicode 文件,在此情况下无需进行转换。

sqlcmd自动识别Big-endian Unicode 和

Little-endian Unicode 输入文件。如果已指定-u选

项,输出将始终为Little-endian Unicode。

如果未指定输出文件,输出代码页将为控制台代码页。这将使输出正确显示在控制台上。

假定多个输入文件具有相同的代码页。可以将Unicode 和非Unicode 输入文件混合在一起。

在命令提示符处输入chcp以验证Cmd.exe 的代码页。

-u unicode output

指定无论input_file为何种格式,output_file都以Unicode 格式进行存储。

-r [ 0 | 1] msgs to stderr

将错误消息输出重定向到屏幕(stderr)。如果未指定参数或指定参数为0,则仅重定向严重级别为11 或更高的错误消息。如果指定参数为1,则将重定向所有消息输出(包括PRINT)。如果使用-o,将不起任何作用。默认情况下,消息将发送到stdout。

-R use client regional settings

设置SQL Server OLE DB 访问接口,使其在将货币、日期和时间数据转换为字符数据时使用客户端区域设置。默认为服务器区域设置。

查询执行选项

-q" cmdline query "

重要提示:

重要提示:

须是介于 1 和65535 之间的数字。如果提供的值不是数值或不在此范围内,则sqlcmd将生成错误消息。

注意实际的超时值可能会与指定的time_out值相差几秒。-v var=value[ var=value...]

创建可用于sqlcmd脚本中的sqlcmd 脚本变量。如果该值包含空格,则将其用引号引起来。可以指定多个

var="values"值。如果指定的任何值中有错误,

sqlcmd会生成错误消息,然后退出。

sqlcmd -v MyVar1=something MyVar2="some thing" sqlcmd -v MyVar1=something -v MyVar2="some thing"

-x disable variable substitution

导致sqlcmd忽略脚本变量。当脚本中包含多个INSERT 语句,并且这些语句可能包含格式与常规变量(如

$(variable_name))相同的字符串时,这一选项很有用。格式设置选项

-h headers

指定要在列标题之间输出的行数。默认为每一组查询结果输出一次标题。此选项设置sqlcmd脚本变量

SQLCMDHEADERS。使用-1指定不能输出标题。任何无效的值都将导致sqlcmd生成错误消息,然后退出。

-s col_separator

指定列分隔符字符。默认为空格。此选项设置sqlcmd脚本变量SQLCMDCOLSEP。若要使用对操作系统有特殊含义的字符,如“与”符号(&) 或分号(;),请将该字符用双引号(") 引起来。列分隔符可以是任意8 位字符。

-w column_width

指定用于输出的屏幕宽度。此选项设置sqlcmd脚本变量SQLCMDCOLWIDTH。该列宽必须是介于8 和65536 之间的数字。如果指定的列宽不在此范围内,则sqlcmd 将生成错误消息。默认宽度为80 个字符。在输出行超出指定的列宽时,将转到下一行。

-W remove trailing spaces

此选项删除列的尾随空格。在准备要导出到另一应用程序的数据时,请将此选项和-s选项结合使用。不能与-y或-Y 选项结合使用。

-k [ 1 | 2 ] remove[replace] control characters

删除输出中的所有控制字符,例如制表符和换行符。这会在返回数据时保留列格式。如果指定了1,则控制字符被一个空格替代。如果指定了2,则连续的控制字符被一个空格替代。

-y display_width

注意:

重要提示:

将不报告错误。命令提示符批处理文件可以测试

ERRORLEVEL 的值并适当处理错误。sqlcmd不对严重级别10 报告错误(信息性消息)。

如果sqlcmd脚本包含错误的注释、语法错误或缺少脚本变量,则返回的ERRORLEVEL 为1。

-V severitylevel

指定sqlcmd报告的最低严重级别。Transact-SQL 脚本中发生错误时,仅当严重级别大于或等于由-V开关指定的值时,才报告严重级别。如果严重级别低于该值,则报告0。默认错误级别为0。命令提示符批处理文件可以测试ERRORLEVEL 的值并适当处理错误。

-m error_level

自定义错误消息的显示。显示高于指定严重级别的错误的消息号、状态和错误级别。而不显示严重级别低于指定级别的错误的信息。用-1指定与消息一起返回所有标题,即使是信息性的消息。如果指定了-1,则在参数和设置之间不能有空格(例如,可以是-m-1,但不能是-m-1)。该选项设置sqlcmd脚本变量SQLCMDERRORLEVEL(其默认值为0)。

其他选项

-a packet_size

注意:

如果可选参数是除1之外的任何值,则将生成错误并且sqlcmd将退出。

-X [ 1 ] disable commands, startup script, enviroment variables [and exit]

从批处理文件执行sqlcmd时,将禁用可能危及系统安全的命令。禁用的命令仍然可以被识别;sqlcmd发出警告消息并继续。如果指定了可选参数1,则sqlcmd将生成错误消息,然后退出。使用-X选项时,将禁用以下命令:ED

!!command

如果指定-X选项,它会阻止将环境变量传递给sqlcmd。同时该选项还会阻止执行通过使用SQLCMDINI 脚本变量

指定的启动脚本。有关sqlcmd脚本变量的详细信息,请参阅将sqlcmd 与脚本变量结合使用。

-? show syntax summary

显示sqlcmd选项的语法摘要。

备注

不必按语法部分所示的顺序使用选项。

相关主题
文本预览
相关文档 最新文档