我有这个bat脚本用于从文件夹执行一些sql文件。
@ECHO OFF
SET SQLCMD="C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE"
SET PATH="C:\Users\user.name\Desktop\sqls"
SET SERVER="DB1"
SET DB="database_name"
SET LOGIN="DOMAIN\user.name"
SET PASSWORD="password"
SET OUTPUT="C:\Users\user.name\Desktop\OutputLog.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"进行身份验证时,脚本不起作用。 '虽然我指定了域名。
我的剧本有问题吗?
谢谢。
答案 0 :(得分:0)
使用RUNAS
并执行SQLCMD -E
以另外的用户身份运行。
答案 1 :(得分:0)
您需要将.bat文件作为将连接到数据库的域用户运行...并在SQLCMD可执行文件上使用-E(区分大小写)开关。
您可以右键单击并以其他用户身份运行,也可以编写脚本... runas.exe /user:domain\username somefile.cmd.