Sql server 通过TeamCity执行具有集成安全性的Sql在用户登录时失败
我有一个MSBuild脚本,它使用类似以下命令的MSBuildExtensionsSql server 通过TeamCity执行具有集成安全性的Sql在用户登录时失败,sql-server,continuous-integration,teamcity,msbuild-4.0,msbuildextensionpack,Sql Server,Continuous Integration,Teamcity,Msbuild 4.0,Msbuildextensionpack,我有一个MSBuild脚本,它使用类似以下命令的MSBuildExtensionsSqlExecute命令: <Target Name="DoSqlStuff"> <SqlExecute TaskAction="Execute" UseTransaction="True" ConnectionString="Data Source=$(Sql_ServerName); Initial Catalog=$(S
SqlExecute
命令:
<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>
我为此任务添加了一些调试输出:
<Message Text="Current user is $(USERNAME)" />
<Message Text="Current domain is $(USERDOMAIN)" />
通过cmd运行时,用户名为danielm
通过TeamCity运行时,用户名为danielm$
两者的域是相同的
我做错了什么,或者接下来需要执行哪些步骤才能获得更多信息?经过一段令人尴尬的时间后,我终于明白了这一点 TeamCity构建代理服务已设置为以本地系统帐户登录 我进入服务,右键单击TeamCity构建代理->属性 “登录”选项卡,然后单击“以“此帐户”登录”单选按钮并设置我的凭据 将服务设置为以我的用户帐户登录,为MsBuild脚本提供了使用集成安全性登录的正确权限
最终,我们将在准备上线时为此目的创建一个用户。代理是否作为您的域用户运行?
<Message Text="Current user is $(USERNAME)" />
<Message Text="Current domain is $(USERDOMAIN)" />