我在CMDExec类型的SQL作业步骤中有以下内容(详细信息已更改):
D:\path\PSExec.exe \\servername -accepteula -u "domain\username" -p password D:\path\executable.exe
这很好用。 但是,我在SQL Server中为相同的用户帐户设置了一个代理 - 作业正在使用,因此您认为我不需要-u和-p参数。 但如果我不提供它们,我会收到错误:
Unhandled Exception: System.Data.SqlClient.SqlException: Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
来自SQL Server,因为远程可执行文件以相同的用户上下文连接到SQL。
为什么这不起作用,如果不在作业详细信息中包含凭据,我可以使其工作吗? (或批处理文件或类似文件)
由于
P.S。远程可执行文件连接的SQL Server与运行作业的SQL Server相同,如果有帮助的话!
答案 0 :(得分:1)
原因是因为Kerberos没有运行!
感谢LinkedIn SQLDBA组的Marc Jellinek:)