使用SQLCMD.exe实用程序在不同凭据下运行T-SQL脚本

使用SQLCMD.exe实用程序在不同凭据下运行T-SQL脚本,sql,sql-server,batch-file,Sql,Sql Server,Batch File,我创建了一个批处理文件,并在其中放置了以下行: runas /user:internal\c39293 "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -E -S WLDZ9454 -d ChadDb -Q "usp_Test" 我试图在服务器WLDZ9454上针对ChadDb数据库运行存储过程usp_测试 当我执行它时,我只得到有关参数选项的信息,没有错误消息,所以我不清楚我做错了什么 请注意,当我运行代

我创建了一个批处理文件,并在其中放置了以下行:

runas /user:internal\c39293 "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -E -S WLDZ9454 -d ChadDb -Q "usp_Test"  
我试图在服务器WLDZ9454上针对ChadDb数据库运行存储过程usp_测试

当我执行它时,我只得到有关参数选项的信息,没有错误消息,所以我不清楚我做错了什么

请注意,当我运行代码减去尝试在不同凭据下运行的代码时,它会起作用:

"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -E -S WLDZ9454 -d ChadDb -Q "usp_Test" 

我怀疑这是因为您没有将正在运行的程序及其参数括在引号中

因此,执行SqlCmd时不带任何参数

 runas /user:internal\c39293 """C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE"" -E -S WLDZ9454 -d ChadDb -Q ""usp_Test"""

接近。这样做了:runas/user:internal\c39293“C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE-E-S WLDZ9454-d ChadDb-Q“usp_Test”。谢谢