次のようなMSBuildExtensionsSqlExecute
コマンドを使用する MSBuild スクリプトがあります。
<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>
これをコマンドラインから(すべての正しい変数などを使用して)実行すると、問題なく動作します。
コマンドラインからこの MSBuild スクリプトを (すべて同じ変数を入力して) 正常に実行できる同じマシンになるように TeamCity ビルド エージェントをセットアップしましたが、次のエラーが表示されます。
[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$
ドメインはどちらも同じです。
何が間違っているのか、または詳細情報を取得するために実行する必要がある次の手順は何ですか?