我遇到了有关sqlcmd的问题,
在计算机中有SSMS 2017,我可以在SSMS 2017中使用SQLCMD模式,但是我不能在命令提示符下调用sqlcmd ,
“'sqlcmd.exe'无法识别为内部或外部命令,可操作程序或批处理文件”
我找不到整台计算机中的SQLCMD.EXE。
因为我可以在SSMS中使用SQLCMD MODE,这是否意味着计算机中是否必须存在sqlcmd.exe?
非常感谢您,
答案 0 :(得分: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'选项添加变量参数。
这是一个非常强大的功能,我不知道为什么评论中的所有人都说相反。
(很抱歉我的英语是法语)
答案 1 :(得分:1)
因为我可以在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
答案 2 :(得分:0)
我的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