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

时间:2011-05-09 11:59:11

标签: 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_Test。

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

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

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

1 个答案:

答案 0 :(得分:3)

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

因此,在没有任何参数的情况下执行SqlCmd。

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