sql-server - 找不到 sqlcmd.exe(SQL SERVER 2017)

标签 sql-server ssms sqlcmd ssms-2017

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

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

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

而且我在整台电脑中都找不到SQLCMD.EXE。

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

非常感谢,

最佳答案

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 中检查进程树:

enter image description here

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

而 SQLCMD 是一个 seperate download从 SSMS 18.0 开始:

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

关于sql-server - 找不到 sqlcmd.exe(SQL SERVER 2017),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59177628/

相关文章:

sql - 在SQL SERVER中使用Long和Lat计算点之间的距离

sql-server - 用于图表的 SQL Server Management Studio 插件

sql-server - 如何使 SSDT Profile.xml SqlCmdVariable 为空字符串或可选

unix - *nix 上是否有等效的 SQLCMD?

sql-server-2008 - -S 使用 sqlcmd 时的未知选项

c# - 在 .Net 中使用哪种货币舍入算法?

sql - EAV 从扩展值表中选择查询

SQL Server Management Studio ZEROFILL

sql - 在 SQL Server 中协调两个表中的列

sql-server - 如何查看完整的 SQL 作业历史记录?