TFS使用什么SQL用户发送警报?

时间:2015-02-24 19:54:29

标签: sql-server tfs

由于电子邮件警报,我们在TFS安装(TFS 2013 Update 4,SQL 2014 Standard)中遇到了一些问题。最值得注意的是,无法创建工作项,因为这会触发电子邮件。

每当进程或用户尝试创建工作项时,都会出现错误

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合作过,我们在服务器上启用了电子邮件警报。我们已经验证,通常,警报通过使用管理控制台上的测试按钮来工作。我还可以通过Web界面设置签到警报,并毫无问题地接收所述警报。这似乎特别影响工作项创建警报(显然只是自动且不可撤销地启用)。

据推测,我们可以通过提供使用该存储过程的适当权限来纠正此问题。为此,我们需要知道要授予哪些用户权限。到目前为止,我们已尝试为我的AD用户,构建服务使用的服务帐户以及网络服务帐户(看起来是TFS服务帐户)提供执行权限。

在任何错误消息中都没有指示正在使用哪个用户来执行该过程。所以,我的问题:在创建工作项时,用什么SQL用户发送警报?

编辑: 为了记录,这开始自己工作。我们周一决定致电微软以解决这个问题。在此之前,失败的构建神奇地创建了一些工作项目(在星期二,我们放弃后的一整天),我们现在能够创建工作项目。参与的每个人都没有做任何事情。我们感到困惑,但是很好。

1 个答案:

答案 0 :(得分:2)

我将告诉您,DBA不应该对TFS数据库进行更改。我建议您使用MSFT打开机票并获得产品支持小组的帮助。