今日想和各位共享一下sqlcmd命令行工具的使用方法,期待对各位有一定的协助!

1.前言。

Sqlcmd是一个Microsoft Win32cmd应用工具,根据它能够实行SQL句子和脚本制作,并定时实行脚本制作每日任务。

2.应用情景。

2.1大中型文档脚本制作的实行。

假如脚本文件超出80兆,就不可以在查看在线编辑器中立即实行,会立即外溢并出错。自然,假如您的脚本文件超出几十兆字节,很可能会造成SQLServer查看在线编辑器停滞不前和无响应。这个问题能够根据应用sqlcmd指令来处理。

2.2为了确保布署的稳定度和精确性。

我们在布署系统软件的情况下,因为领域模型的调节,通常会出现几十个脚本文件必须实行。为了更好地保证脚本制作实行沒有不正确,我们可以应用sqlcmd指令。将脚本文件布署到线上自然环境。这能够提升系统软件布署的产品质量和精确性。

3.sqlcmd主要参数的详细描述。

3.1英语的语法文件格式。

[{ { -U login_id [ -P登陆密码]} |–E可靠联接}]

[ -N数据加密联接][ -C信赖服务器证书]

[ -z密码] [ -Z密码并撤出]

[-S[协议书:]网络服务器[\实例名][,端口号] ] [ -H wksta_name ] [ -d db_name ]

[ -l登陆请求超时][-专用型管理方法联接]

[ -i键入文档] [ -o輸出文档]

[ -f <编码页> | i:<编码页>[<,o:<编码页>] ]

[ -u unicode輸出] [ -r [ 0 | 1 ] msgs到stderr ]

[ -R应用手机客户端地区设定]

[-Q " cmd line query "][-Q " cmd line query "并撤出]

[ -e回音键入] [ -t查看请求超时]

[-我开启引入标志符]

[ -v var = "value"…] [ -x禁止使用自变量更换]

[ -h文章标题][ -s列分节符] [ -w列总宽]

[ -W删掉跟随空格符]

[ -k [ 1 | 2 ]删掉[更换]控制字符]

[ -y表明_总宽] [-Y表明_总宽]

[ -b在不正确批处理命令中断时] [ -V比较严重等级] [ -m不正确等级]

[ -a packet_size ][ -c cmd_end ]

[ -L [ c ]列举网络服务器[整洁輸出] ]

[ -p [ 1 ]打印出数据统计[灶具文件格式]]

[ -X [ 1 ] ]禁止使用指令,运行脚本制作,系统变量[并撤出]

[ -?表明英语的语法引言]

3.2主要参数叙述

登陆有关选择项。

[组成动物与植物的古称或拉丁化的当代名]

应用专用型管理人员联接(模数转换器)登陆到SQL Server。这类型号的联接用以对服务器虚拟机常见故障清除。此联接仅适用适用模数转换器的网络服务器电子计算机。假如DAC不能用,sqlcmd将转化成一条不正确信息并撤出。不与此同时适用-A页面和-G选择项。

-丙

手机客户端应用此电源开关将其配备为在沒有身份认证的情形下隐式信赖服务器证书。该选择项等同于ADO.NET选择项trustservercertificate = true。

-d db_name

运行sqlcmd时,会传出USE db_name句子来特定要实际操作的数据库查询的名字。此选择项用以设定sqlcmd脚本制作自变量SQLCMDDBNAME。此参数特定原始数据库查询。初始值是用户名的默认设置数据库查询特性。假如数据库查询不会有,将转化成一条不正确信息并撤出sqlcmd。

-l登陆_请求超时

特定当您试着联接到远程服务器sqlcmd登陆到ODBC驱动软件的请求超时時间(秒)。此选择项设定sqlcmd脚本制作自变量SQLCMDLOGINTIMEOUT。登陆sqlcmd的默认设置请求超时时间8秒。当应用-g选择项联接到SQL数据库查询或SQL数据库管理并应用Azure Active Directory开展身份认证时,提议的超正值最少为30秒。登陆请求超时务必是0到65534中间的数据。假如给予的值并不是数据或没有此范畴内,Sqlcmd将转化成不正确信息。当该值设定为0时,容许无尽等候。

-英

应用可靠联接而不是登录名和登录密码到SQL Server服务项目。默认设置状况下,假如未找到-E,sqlcmd将应用可靠连接选项。

-E选择项忽视很有可能的登录名和登陆密码系统变量设定,如sqlcmdpassword。假如-E选择项与-U选择项或-P选择项一起应用,将转化成一条不正确信息。

g

将列数据加密设定设定为开启。相关其他信息,请参照自始至终数据加密。仅适用储存在Windows资格证书储存中的主密匙。-g电源开关最少必须sqlcmd版本号13.1。要明确您的版本号,请运作sqlcmd-?。

-G

联接到SQL数据库查询或SQL数据库管理时,手机客户端将采用此电源开关特定客户应用Azure Active Directory身份认证开展身份认证。此选择项设定sqlcmd脚本制作自变量SQLCMDUSEAAD = true。-G电源开关最少必须sqlcmd版本号13.1。要明确您的版本号,请运作sqlcmd-?。相关其他信息,请参照应用Azure活动目录身份认证联接到SQL数据库查询或SQL数据库管理。-A选择项不兼容-G选择项。

选择项仅适用Azure SQL数据库查询和Azure数据库管理。

-H工作平台_名字

工作平台的名字。此选择项设定sqlcmd脚本制作自变量SQLCMDWORKSTATION。工作平台名字列在sys.sysprocesses文件目录主视图的服务器位居中,能够应用sql语句sp_who回到。假如未找到此选择项,它将默认设置为当今主机名。该名字可用以标志不一样的sqlcmd对话。

-j向插口輸出初始不正确信息。

-K应用软件_用意

联接到远程服务器申明应用软件工作中负荷种类。现阶段只适用ReadOnly。假如未找到-K,sqlcmd应用工具将不兼容联接到AlwaysOn易用性组里的辅助副本。相关详细资料,客户程序主题活动輔助复制:可读輔助复制(AlwaysOn易用性组)。

-M多子网_常见故障迁移

当联接到SQL Server易用性组或SQL Server常见故障迁移集群案例的易用性组侦听器时,请自始至终特定-M。-M将为(当今)主题活动网络服务器给予迅速的检验和联接。假如未找到–M,-M关掉。某系其他信息【!包含ssHADR,建立和配备的易用性组成(SQL Server),常见故障迁移集群和Alwayson易用性组(SQL Server)及其主题活动輔助复制:可读輔助复制(Alwayson易用性组)。

同-EN

手机客户端应用此电源开关要求数据加密联接。

-P登陆密码

客户选定的登陆密码。登陆密码区别英文大小写。假如应用-U选择项而不是-P选择项,而且未设定sqlcmdPASSWORD系统变量,则SQLCMD会显示客户输入支付密码。大家不建议应用空登陆密码,可是您能够根据对变量值应用一对持续的引号来特定空登陆密码:

-P " "

提议应用强登陆密码。

假如-P选择项与-E选择项一起应用,可能转化成一条不正确信息。

假如-P选择项后有好几个主要参数,将转化成一条不正确信息,程序流程将撤出。

-S[协议书:]网络服务器[\instance_name] [,* *端口号]。

特定要联接的SQL Server案例。它设定sqlcmd脚本制作自变量SQLCMDSERVER。

特定server_name能够接入到此网络服务器电子计算机上的默认设置SQL Server案例。特定网络服务器名[\实例名]以联接到此网络服务器电子计算机上的SQL Server的取名案例。如果不特定网络服务器,sqlcmd将联接到当地电子计算机上的默认设置SQL Server案例。从互联网上的远程计算机实行sqlcmd时,此选择项是必不可少的。

-U登陆_id

或是用户名中包括的数据库查询登录名。针对包括的数据库查询客户,务必给予数据库查询名字选择项(-d)。

-z密码

修改密码:

sqlcmd-U some user-P s0mep @ ss word-z a _ new _ P @ a $ $ w0rd

-Z新_登陆密码

修改密码并撤出:

sqlcmd-U some user-P s0mep @ ss word-Z a _ new _ P @ a $ $ w0rd

4.sqlcmd的实例叙述。

4.1登陆网络服务器。

文件格式:sqlcmd -S网络服务器名-U账户-P登陆密码。

例:sqlcmd-S " 127 . 0 . 0 . 1 "-U " sa "-P " sa "-P " sa "。

4.2立即实行SQL脚本制作。

文件格式:sqlcmd -S网络服务器名-U账户-P登陆密码-d数据库查询-i SQL脚本制作。

实例:sqlcmd-s " 127 . 0 . 0 . 1 "-u " sa "-p " sa "-d " mydb "-I " d:\ test . SQL "–实行脚本文件。

cmd-s " 127 . 0 . 0 . 1 "-u " sa "-p " sa "-d " mydb "-I "从userinfo中挑选* "-立即实行sql语句。

评论(0条)

刀客源码 游客评论