找不到 sqlcmd.exe(SQL 服务器 2017)

Can't find sqlcmd.exe (SQL SERVER 2017)

我 运行 遇到了一个关于 sqlcmd 的问题,

电脑上有SSMS 2017,我可以在SSMS 2017中使用SQLCMD MODE,但是我不能在命令提示符下调用sqlcmd,

"'sqlcmd.exe' 未被识别为内部或外部命令、可运行程序或批处理文件"

而且我在整个计算机中找不到 SQLCMD.EXE。

既然可以在SSMS中使用SQLCMD MODE,那是不是电脑里一定有sqlcmd.exe?

非常感谢,

您是否尝试将 SQL SERVER 路径添加到 PATH 的环境变量中?

要检查它,运行 在 cmd 上执行以下命令:

Path

这将为您打印可变路径。 如果没有这样的东西:

;C:\Program Files (x86)\Microsoft SQL Server0\Tools\Binn\
;C:\Program Files\Microsoft SQL Server0\Tools\Binn\
;C:\Program Files\Microsoft SQL Server0\DTS\Binn\

您将无法执行 sqlcmd。

SQLCMD 对于 运行 在多个实例上执行命令非常有用,例如在批处理文件中。 这个命令还有一个很酷的地方,就是你可以在参数 '-i' 中传递一个 sql 脚本来执行,并在 '-o' 中传递一个输出结果的文件。 然后,您将能够使用“-v”选项添加变量参数。

这是一个非常强大的功能,我不知道为什么评论中的每个人都说相反。

(对不起我的英语,我是法国人)

Since i can use SQLCMD MODE in SSMS, Is this means, there must be a sqlcmd.exe in the computer or not?

显然不是。我刚刚测试 运行

:!! powershell pause

在 SSMS 的 SQLCMD 模式下并在 Sysinternals Process Explorer 中检查进程树:

看起来 SSMS 有它自己的 SQLCMD 兼容解释器的实现。

自 SSMS 18.0 以来,SQLCMD 是 seperate download

The following tools are no longer installed with SSMS:
OSQL.EXE
DReplay.exe
SQLdiag.exe
SSBDiagnose.exe
bcp.exe
sqlcmd.exe

Deprecated and removed features in 18.0

我的 SQLCMD.EXE 位于此处:

C:\Program Files\Microsoft SQL Server\Client SDK\ODBC0\Tools\Binn\SQLCMD.EXE

您可以在这里下载:

https://msdn.microsoft.com/de-de/library/ms162773.aspx

https://docs.microsoft.com/de-de/sql/tools/sqlcmd-utility?redirectedfrom=MSDN&view=sql-server-ver15