作为电子邮件警报的结果,我们遇到了一些与我们的TFS安装(TFS 2013 Update 4,SQL 2014 Standard)有关的问题。最值得注意的是,无法创建工作项目,因为这会触发电子邮件。TFS使用什么SQL用户发送警报?
任何时间的进程或用户尝试创建一个工作项,
TF30040: The database is not correctly configured. Contact your Team Foundation Server administrator.
接收到错误。此外,当我检查事件查看器在服务器上,我可以看到错误,它报告的内部异常是:
Exception Message: The EXECUTE permission was denied on the object 'sp_send_dbmail', database 'msdb', schema 'dbo'. (type SqlException)
我与DBA的工作,我们已经在服务器上启用电子邮件警报。我们已经证实,通常情况下,警报通过使用管理控制台上的测试按钮来工作。我还可以通过网络界面设置检入警报,并且可以毫无问题地接收警报。这似乎是特别影响工作项目创建警报(显然只是自动且不可撤销地启用)。
大概我们可以通过给予适当的权限来使用该存储过程来解决这个问题。为此,我们需要知道要授予哪些用户权限。到目前为止,我们已经尝试给予我的AD用户,构建服务使用的服务帐户和网络服务帐户(似乎是TFS服务帐户)的执行权限。
在任何错误消息中没有指示正在使用哪个用户执行该过程。所以,我的问题是:创建工作项目时,用什么SQL用户发送警报?
编辑: 为了记录,这开始自行工作。我们星期一决定给微软打电话来解决这个问题。在此之前,失败的版本神奇地创建了一些工作项目(星期二,我们放弃了整整一天),现在我们可以创建工作项目。每个参与国都没有做任何事情。我们很困惑,但方式很好。
您是否尝试过检查剖析器跟踪? – 2015-02-24 21:12:45
@TabAlleman不,我们甚至没有发生过。目前DBA状态太忙,但应该由EOB完成。 – 2015-02-24 21:23:23
分析器跟踪没有帮助。与错误一起返回的用户名(我们从未见过该命令)被混淆了(您有时在注册表中看到的S-n-n-nnnnnn垃圾)。它看起来可能是一个普通用户,我们试图让该用户成为系统管理员,但没有工作。 – 2015-02-25 02:24:19