sqlcmd (转)
您可以在命令提示符下使用 sqlcmd 实用工具来管理 Microsoft SQL Server 2008 Express (SQL Server Express) 数据库。若要访问 sqlcmd 使用工具,请依次单击“开始”和“运行”,再键入 sqlcmd.exe。
当运行 sqlcmd 实用工具时,可以使用下列参数。有关特定参数的信息,请参阅 SQL Server 联机丛书中的 sqlcmd 实用工具和 教程:sqlcmd 实用工具。
Sqlcmd [-U login id] [-P password] [-S server] [-H hostname] [-E trusted connection] [-d use database name] [-l login timeout] [-N encrypt connection] [-C trust the server certificate] [-t query timeout] [-h headers] [-s colseparator] [-w screen width] [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers] [-c cmdend] [-L[c] list servers[clean output]] [-q "cmdline query"] [-Q "cmdline query" and exit] [-m errorlevel] [-V severitylevel] [-W remove trailing spaces] [-u unicode output] [-r[0|1] msgs to stderr] [-i inputfile] [-o outputfile] [-f <codepage> | i:<codepage>[,o:<codepage>]] [-k[1|2] remove[replace] control characters] [-y variable length type display width] [-Y fixed length type display width] [-p[1] print statistics[colon format]] [-R use client regional setting] [-b On error batch abort] [-v var = "value"...] [-X[1] disable commands[and exit with warning]] [-? show syntax summary]
下表概述了可以在 sqlcmd 实用工具中使用的命令。有关这些命令的详细信息,请参阅 SQL Server 2008 联机丛书中的 sqlcmd 实用工具。
命令 | 说明 |
---|---|
go [count] |
执行任何缓存的 Transact-SQL 语句。在为 count 指定一个值时,缓存的语句会被作为单个批处理执行 count 次。例如,以下示例将对这两个语句执行两次: |
-Nencrypt connection |
此开关供客户端用于请求加密连接。此选项等同于 ADO.net 选项 |
-Ctrust the server certificate |
该开关供客户端用于将其配置为隐式信任服务器证书且无需验证。此选项等同于 ADO.net 选项 |
reset |
清除语句缓存。 |
ed |
允许编辑当前或上一次执行的语句批处理。若要编辑上次执行的批处理,必须在上一批处理执行完之后立即键入该命令。 |
!! <命令> |
执行操作系统命令。若要执行操作系统命令,请用两个感叹号 (!!) 开始一行,后面输入操作系统命令。例如,以下命令执行当前驱动器的目录清单: |
quit -或- exit |
立即退出 sqlcmd。 |
exit [(statement)] |
允许使用 SELECT 语句的结果作为 sqlcmd 的返回值。 如果括号中没有任何内容,则 exit() 语句会执行批处理中该语句前的所有内容,然后退出,且不返回任何值。 也可以包含 exit 参数,使其作为批处理文件的一部分。例如: |
:r <filename> |
将来自 filename 所指定文件的 Transact-SQL 语句和 sqlcmd 命令分析到语句缓存中。当发出批处理终止符 (go) 之后,将读取并执行该文件。 |
:serverlist |
列出在本地配置的服务器和在网络上进行广播的服务器的名称。 |
:list |
打印语句缓存的内容。 |
:listvar |
显示当前设置的脚本变量列表。 |
:error <destination>[ filename | STDERR | STDOUT] |
将所有错误输出重定向到 filename 指定的文件、STDERR 流或 STDOUT 流。默认情况下,错误输出将发送到 STDERR。 |
:out <destination>[ filename | STDERR | STDOUT ] |
将所有查询结果重定向到 filename 指定的文件、STDERR 流或 STDOUT 流。默认情况下,输出将发送到 STDOUT。 |
:perftrace <destination>[ filename | STDERR | STDOUT ] |
将所有性能跟踪信息重定向到 filename 指定的文件、STDERR 流或 STDOUT 流。默认情况下,性能跟踪输出将发送到 STDOUT。 |
:connect server_name[/instance_name] [-t timeout] [-U username [-P password] ] |
连接到 SQL Server 实例并关闭当前连接。 |
:on error [ exit | ignore ] |
设置在脚本或批处理执行过程中发生错误时要执行的操作。 使用 exit 选项时,sqlcmd 退出,并显示相应的错误值。 使用 ignore 选项时,sqlcmd 会忽略错误,并继续执行批处理或脚本。默认情况下,会打印错误消息。 |
:help |
列出 sqlcmd 命令以及每个命令的简短说明。 |
当连接到 SQL Server Express 服务器时,必须指定服务器名称,并且如果 SQL Server Express 安装在命名实例中,还必须指定实例名。默认情况下,sqlcmd 使用 Windows 身份验证。如果要使用 SQL Server 身份验证连接到 SQL Server Express 服务器,则还必须提供连接到 SQL Server Express 服务器所需的登录信息。例如,如果要连接到名为 server1 的服务器上的默认 SQL Server Express 安装,则可能使用下列参数:
![]() |
---|
如果使用 -P 参数,则密码在命令提示符下以纯文本形式出现。如果省略 -P参数,则系统将提示您输入密码。您所输入的文本将会被隐藏。
|
如果使用运行 SQL Server Express 的服务器上受信任的用户帐户进行登录,则可以省略 -U 和 -P 参数:
![]() |
---|
-E 参数指定受信任连接。这是 sqlcmd 的默认设置,因此可以省略 -E参数。
|
示例
您可以使用 sp_configure 系统存储过程,通过配置各个选项来管理和优化 SQL Server Express 资源。有关 sp_configure 的详细信息,请参阅 SQL Server 联机丛书中的设置服务器配置选项。
下列配置选项是 sp_configure 的一部分,但在 SQL Server Express 中不受支持:
- 代理 XP
- 数据库邮件 XP
- SQL 邮件 XP
- Web 助手过程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
2011-09-05 GUID和自增ID的比较_top