【问题标题】:Can't find sqlcmd.exe (SQL SERVER 2017)找不到 sqlcmd.exe (SQL SERVER 2017)
【发布时间】:2019-12-04 13:53:26
【问题描述】:

我遇到了关于 sqlcmd 的问题,

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

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

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

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

非常感谢,

【问题讨论】:

  • 另外,sqlcmd模式和sqlcmd有很大的不同。
  • @Larnu:你也可以用sqlcmd.exe,加.exe后缀没有错
  • Management Studio 的 SQLCMD 模式不会在后台运行 sqlcmd,它只是以兼容的方式运行。 sqlcmd 通常可以在C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\<version>\Tools\Binn\SQLCMD.EXE 找到;大概您可以通过取消选中某个框来将其从设置中排除,尽管我不确切知道是哪一个,因为它默认包含在内,很少有人有动力去改变它。尽管如此,SQL Server 的工作安装不需要它,所以是的。
  • 现在太习惯使用 bash,@a_horse_with_no_name(其中sqlcmd.exe 将无效)。删除了结束语。
  • @a_horse_with_no_name:我将不得不选择“嗯,嗯,不知道”。 SSMS 的最新版本是完全独立的(我认为它们不包括 sqlcmd),在旧版本中,一切都是 SQL Server 设置的一部分,但有可选部分。所有这一切都假设 Windows,在 Linux 上是另一个故事。无论如何,绝对有可能最终得到一个没有sqlcmd 的安装——我的意思是,即使使用集成设置,如果你够傻的话,你也可以随时手动删除它。它只是另一个客户端工具。

标签: sql-server ssms sqlcmd ssms-2017


【解决方案1】:

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

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

Path

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

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

您将无法执行 sqlcmd。

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

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

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

【讨论】:

  • 谢谢文森特,exactement,je l'utilise pour exécuter mon sql 脚本。 Je ne trouve que" ;C:\Program Files\Microsoft SQL Server (X86)\150\DTS\Binn\" partaper "Path"。 Mais en fait cette répertoire n'existe pas dans le PC。 J'ai que un dossier "License Termes" sous "C:\Program Files\Microsoft SQL Server\150".
【解决方案2】:

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

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

:!! 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

【讨论】:

  • 谢谢大卫,这是我想知道的。
【解决方案3】:

我的 SQLCMD.EXE 位于此处:

C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多