找不到 sqlcmd.exe (SQL SERVER 2017)

Che*_*n J 3 sql-server ssms sqlcmd ssms-2017

我遇到了有关 sqlcmd 的问题,

计算机中有SSMS 2017,我可以在SSMS 2017中使用SQLCMD MODE,但无法在命令提示符中调用sqlcmd

“‘sqlcmd.exe’未被识别为内部或外部命令、可操作程序或批处理文件”

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

既然我可以在SSMS中使用SQLCMD MODE,这是否意味着计算机中必须有sqlcmd.exe?

非常感谢,

Dav*_*oft 5

既然我可以在SSMS中使用SQLCMD MODE,这是否意味着计算机中必须有sqlcmd.exe?

显然不是。我刚刚通过运行进行了测试

:!! powershell pause
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

看起来 SSMS 正在使用 PowerShell 的 Invoke-SqlCmd,它是一个单独的 SQLCMD 兼容解释器。

自 SSMS 18.0 起,SQLCMD 是单独下载的:

The following tools are no longer installed with SSMS:
OSQL.EXE
DReplay.exe
SQLdiag.exe
SSBDiagnose.exe
bcp.exe
sqlcmd.exe
Run Code Online (Sandbox Code Playgroud)

18.0 中弃用和删除的功能