我有这个bat脚本,用于从文件夹中执行一些sql文件。
@ECHO OFF
SET SQLCMD="C:Program FilesMicrosoft SQL Server100ToolsBinnSQLCMD.EXE"
SET PATH="C:Usersuser.nameDesktopsqls"
SET SERVER="DB1"
SET DB="database_name"
SET LOGIN="DOMAINuser.name"
SET PASSWORD="password"
SET OUTPUT="C:Usersuser.nameDesktopOutputLog.csv"
CD %PATH%
ECHO %date% %time% > %OUTPUT%
for %%f in (*.sql) do (
%SQLCMD% -S %SERVER% -d %DB% -U %LOGIN% -P %PASSWORD% -i %%~f >> %OUTPUT% -b -h-1 -s";" -w 700
)
虽然我指定了域,但当我必须使用"使用Windows进行身份验证"时,该脚本不起作用。
我的剧本有问题吗?
谢谢。
使用RUNAS
并执行SQLCMD -E
以作为不同的用户运行。
您需要以将要连接到数据库的域用户身份运行.bat文件。。。并在SQLCMD可执行文件上使用-E(区分大小写)开关。
您可以右键点击并以不同用户身份运行,也可以编写脚本…runas.exe /user:domainusername somefile.cmd.