0
我有使用MSBuildExtensions类似于以下SqlExecute
命令一个MSBuild脚本:通过TeamCity的集成安全执行SQL无法在用户登录
<Target Name="DoSqlStuff">
<SqlExecute TaskAction="Execute"
UseTransaction="True"
ConnectionString="Data Source=$(Sql_ServerName); Initial Catalog=$(Sql_DatabaseName); Integrated Security=SSPI;"
Files="@(sqlFiles)"
CommandTimeout="1800">
</SqlExecute>
</Target>
如果我在命令行中运行这个(与所有正确的变量和whatnot)然后它工作得很好。
我有一个TeamCity的生成代理设置为是能够成功地在命令行中运行这个的MSBuild脚本(相同的所有变量进入)在同一台机器,我得到以下错误:
[MSBuild output] C:\BuildAgent\work\c5affefc453a825c\ContinuousBuild\Deploy.proj(22,3): error : SqlException: Login failed for user 'ALLIANCE\DANIELM$'. [C:\BuildAgent\work\c5affefc453a825c\ContinuousBuild\Deploy.proj.teamcity]
我加了一些调试输出到这个任务:
<Message Text="Current user is $(USERNAME)" />
<Message Text="Current domain is $(USERDOMAIN)" />
当通过CMD运行,用户名是danielm
当通过TeamCity的运行中,用户名是danielm$
这两个域的域是相同的。
我做错了什么,或者我需要执行什么后续步骤来获取更多信息?
代理是否以您的域用户身份运行? – 2013-03-13 20:19:09