首页 > 数据库 >在 Microsoft SQL Server 2012 中,可以使用 sqlcmd 命令行工具来执行 Transact-SQL 脚本和命令。这个工具提供了一种在命令行下管理和操作 SQL Server

在 Microsoft SQL Server 2012 中,可以使用 sqlcmd 命令行工具来执行 Transact-SQL 脚本和命令。这个工具提供了一种在命令行下管理和操作 SQL Server

时间:2024-07-05 08:57:37浏览次数:21  
标签:YourServer Code YourDatabase bashCopy Server sqlcmd SQL

sqlcmd 实用工具 - SQL Server | Microsoft Learn

在 Microsoft SQL Server 2012 中,可以使用 sqlcmd 命令行工具来执行 Transact-SQL 脚本和命令。这个工具提供了一种在命令行下管理和操作 SQL Server 的便捷方式。以下是一些 sqlcmd 命令的实例用法:

连接到 SQL Server 实例

bashCopy Code
sqlcmd -S YourServer\InstanceName -U Username -P Password

这个命令用于连接到指定的 SQL Server 实例。替换 YourServer\InstanceNameUsernamePassword 分别为你的 SQL Server 实例名称、登录用户名和密码。

执行查询

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT TOP 10 * FROM YourTable"

这个命令连接到 YourServer 上的默认数据库,并执行指定的查询。

执行 SQL 脚本文件

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -i C:\Path\To\YourScript.sql

这个命令执行指定路径下的 SQL 脚本文件 YourScript.sql,在连接的 YourDatabase 数据库上运行脚本。

输出结果到文件

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT * FROM YourTable" -o C:\Path\To\OutputFile.txt

这个命令执行查询并将结果输出到指定的文件 OutputFile.txt 中。

执行存储过程

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "EXEC YourStoredProcedure"

这个命令执行指定的存储过程 YourStoredProcedure

列出可用的数据库

bashCopy Code
sqlcmd -S YourServer -Q "SELECT name FROM sys.databases"

这个命令列出 YourServer 上所有可用的数据库。

使用变量

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT * FROM YourTable WHERE ColumnName = '$(VariableName)'"

这个命令中使用了 $() 语法来引用变量 VariableName 的值。

设置超时时间

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -t 30 -Q "SELECT * FROM YourTable"

这个命令设置查询的超时时间为 30 秒。

这些示例展示了如何使用 sqlcmd 命令行工具在 SQL Server 2012 中执行各种任务,包括连接到服务器、执行查询、运行脚本、输出结果等操作。


使用 -Q 参数执行多条语句

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT * FROM Table1; SELECT * FROM Table2"

这个命令执行两个连续的查询,分别从 Table1Table2 中选择数据。

执行批处理模式

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -i C:\Path\To\YourBatchFile.sql -b

这个命令执行指定的批处理文件 YourBatchFile.sql,并以批处理模式运行。

设置输出的列分隔符和行分隔符

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT Column1, Column2 FROM YourTable" -s "," -w 700 -h -1

这个命令设置输出的列分隔符为逗号(,),设置宽度选项 -w 为 700 字符,禁用行分隔符 -h -1

使用 Windows 身份验证连接

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -E

这个命令使用当前 Windows 用户的身份验证连接到 SQL Server。

列出可用的命令选项

bashCopy Code
sqlcmd -?

这个命令列出 sqlcmd 命令行工具的所有可用选项和帮助信息。

退出 sqlcmd 命令行工具

sqlCopy Code
EXIT

sqlcmd 命令行工具中,输入 EXIT 可以退出当前的 sqlcmd 会话。

这些示例展示了如何使用 sqlcmd 命令行工具在 SQL Server 2012 中执行更多高级的操作,包括执行多条语句、批处理模式、自定义输出格式等。 sqlcmd 提供了丰富的功能和选项,适合于各种管理和操作数据库的需求。


使用 -r 参数设置结果文件格式

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT * FROM YourTable" -r 1 -o C:\Path\To\OutputFile.txt

这个命令设置输出文件格式为包含列名的行(-r 1),并将查询结果输出到指定的文件 OutputFile.txt 中。

设置连接超时时间

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -l 30

这个命令设置连接到 SQL Server 的超时时间为 30 秒。

执行包含 GO 命令的脚本

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -i C:\Path\To\YourScript.sql -b

这个命令执行包含 GO 命令分隔的 SQL 脚本文件 YourScript.sql,并以批处理模式运行。

使用环境变量

bashCopy Code
sqlcmd -S $(ServerName) -d $(DatabaseName) -U $(Username) -P $(Password)

这个命令使用环境变量来动态设置连接的服务器名、数据库名、用户名和密码。

使用 SQL Server 身份验证连接

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -U YourUsername -P YourPassword

这个命令使用指定的 SQL Server 身份验证用户名和密码连接到 SQL Server。

设置输出编码格式

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT * FROM YourTable" -f 65001

这个命令设置输出文件的编码格式为 UTF-8 (-f 65001),适合处理包含非拉丁字符的数据。

这些进一步的示例展示了如何在使用 sqlcmd 命令行工具时,根据具体需求设置不同的选项和参数,以便更有效地管理和操作 SQL Server 数据库。


使用变量和占位符

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT * FROM YourTable WHERE Column1 = $(Value)" -v Value="YourCriteria"

这个命令使用变量 -v 和占位符 $(Value),允许动态设置查询条件,例如根据 Column1 的值为 YourCriteria 进行筛选。

设置输出的行数限制

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT TOP 100 * FROM YourTable"

这个命令设置查询结果的行数限制为最多返回前 100 条记录,使用 TOP 关键字实现。

执行存储过程

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "EXEC YourStoredProcedure"

这个命令执行名为 YourStoredProcedure 的存储过程。

显示详细错误信息

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -V 10

这个命令设置详细性级别为 10,以便显示更详细的错误信息和调试信息。

设置连接的语言环境

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -l 30 -L Japanese

这个命令设置连接的语言环境为日语 (Japanese),并设置连接超时时间为 30 秒 (-l 30)。

使用特定的配置文件

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -i C:\Path\To\YourScript.sql -I C:\Path\To\YourConfigFile.ini

这个命令使用指定的配置文件 YourConfigFile.ini 来配置 sqlcmd 的行为,例如设置连接属性、输出格式等。

这些进一步的示例展示了如何根据具体的需求和情况,使用 sqlcmd 命令行工具的不同选项和功能来操作和管理 SQL Server 数据库。


设置查询结果的输出格式

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT * FROM YourTable" -y 0 -Y 0

这个命令设置查询结果的输出格式,其中 -y 0 禁用特殊字符转义,-Y 0 禁用列名头部和分隔线。

执行动态 SQL 语句

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "EXEC(@YourDynamicSQL)"

这个命令执行动态生成的 SQL 语句,@YourDynamicSQL 是一个变量或者参数,包含要执行的动态 SQL。

设置登录超时时间

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -l 60

这个命令设置登录到 SQL Server 的超时时间为 60 秒。

指定输出文件的格式

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -Q "SELECT * FROM YourTable" -o C:\Path\To\OutputFile.csv -s"," -W

这个命令将查询结果输出到 OutputFile.csv 文件中,设置字段分隔符为逗号 (-s","),并且禁用空格填充 (-W)。

执行包含 GO 命令的脚本文件

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -i C:\Path\To\YourScript.sql -b -h-1

这个命令执行包含 GO 命令的 SQL 脚本文件 YourScript.sql,使用批处理模式 (-b),并且禁用头部消息 (-h-1)。

连接使用 Windows 身份验证

bashCopy Code
sqlcmd -S YourServer -d YourDatabase -E

这个命令使用当前 Windows 用户的身份验证方式连接到 SQL Server (-E)。

这些示例展示了如何在使用 sqlcmd 命令行工具时,根据具体需求设置不同的选项和参数,以便更有效地操作和管理 SQL Server 数据库。


 

标签:YourServer,Code,YourDatabase,bashCopy,Server,sqlcmd,SQL
From: https://www.cnblogs.com/suv789/p/18285047

相关文章

  • MySQL弱口令暴力破解
    10-mysql弱口令暴力破解 主机靶机:本地Linux服务器虚拟机+phpstudy攻击主机:本地Kali虚拟机 配置好网络让主机之间相互可以通信 数据库数据库版本:mysql5.5.62 开启远程连接。 1)使用Hydra工具进行暴力破解kali自带的hydra工具是一款非常强大的暴力破解......
  • MySQL网络安全-防syn攻击防暴力攻击
    防syn泛滥攻击、暴力破解攻击 错误:ERROR1129(00000):Host'xxx'isblockedbecauseofmanyconnectionerrors.Unblockwith'mysqladminflush-hosts' 很多资料说,这个是密码输入错误的尝试次数超过max_connect_errors变量,MySQL就会阻塞这个客户端登录。 官方描述:......
  • 微信小程序-自定义组件数据监听器observers
    一.监测自定义组件data值定义data值,在.js文件里面定义data值data:{num:10,count:100,obj:{name:'tom',age:10},arr:[1,2,3]}只有在data值进行改变后才会触发到数据监听的回调函数,如果数据没有改变回调函数不会被触发ob......
  • MSSQL注入
    环境搭建sudodockerpullmcr.microsoft.com/mssql/server:2022-latestdockerrun-e"ACCEPT_EULA=Y"-e"SA_PASSWORD=Y.sa123456"-p1433:1433--namemssql2022-dmcr.microsoft.com/mssql/server:2022-latest然后使用客户端连接即可用户名sa密码Y.sa123456......
  • mysql注入
    mysql注入前置知识mysql语句,php表单数据处理。功能展示以sqli_libs为例子。在Less-1中,sql语句的合成是这样的。我们提交的url为http://localhost/sqli-labs-master/Less-1/?id=1即拼接为$sql="SELECT*FROMusersWHEREid='1'LIMIT0,1"即查询出表users中id为1的数......
  • Sqlmap使用
    基础使用sqlmap.py-u"http://192,168.1.104/sq11/Less-1/?id=1&uid=2"文本中获取请求sqlmap.py-rdesktop/1.txt查询数据库与表sqlmap.py-uhttp://192.168.1.104/sql1/Less-1/?id=1--dbssqlmap.py-uhttp://192.168.1.104/sql1/Less-1/?id=1--D--tabls//-D不指......
  • SQL247 按照dept_no进行汇总(group_concat(X,Y))
    聚合函数group_concat(X,Y),其中X是要连接的字段,Y是连接时用的符号,可省略,默认为逗号。此函数必须与GROUPBY配合使用。此题以dept_no作为分组,将每个分组中不同的emp_no用逗号连接起来(即可省略Y)。SELECTdept_no,group_concat(emp_no)employeesFROMdept_empGROUPBYdept_no;SEL......
  • Mysql主从复制
    Mysql主从复制搭建(Docker)主从复制原理简介通俗的说就是主机将执行过的写操作sql记录在一个文件中,从机连接主机后读取这个文件,然后以同样的顺序将这些sql执行一遍。实际上主从复制是通过binlog和relay-log实现,主机的更新事件(update、insert、delete)会按照顺序写入binlog......
  • 如何理解mysql 的事务隔离级别 repeatable read
    在MySQL中,事务隔离级别定义了事务之间如何相互隔离,以及数据的一致性和并发性如何平衡。REPEATABLEREAD(可重复读)是MySQL中四种事务隔离级别之一,它在保证数据一致性的同时,允许较高的并发性。MySQL的四种事务隔离级别READUNCOMMITTED(未提交读)READCOMMITTED(提交读)REPEATABLER......
  • 安装MySQL
    win1.下载安装包地址:https://dev.mysql.com/downloads/mysql/下载完成,解压2.配置系统变量变量名:MYSQL_HOME变量值:D:\app\mysql-8.4.1-winx643.安装MySQLD:\app\mysql-8.4.1-winx64\bin>mysqld--initialize-insecure--user=mysqlD:\app\mysql-8.4.1-winx64\bin>mysql......