我最终设法找到了问题的根源!事实证明,由于原因未知,受影响的用户在Constants
表中出现多次(基于存储在DisplayPart
列中的名称),这些用户位于我们的TfsDefaultCollection
TFS数据库中。此查询突出显示所有具有重复项的记录DisplayName
:
SELECT * FROM Tfs_DefaultCollection.dbo.Constants
WHERE DisplayPart IN
(
SELECT DisplayPart FROM dbo.Constants
GROUP BY DisplayPart
HAVING COUNT(ConstID) > 1
)
ORDER BY DisplayPart ASC
TFS在查询时使用一个查询TFS项目ConstID
从该表中检索用户,并且仅在其名称唯一时才起作用:
declare @P3_1 int
select @P3_1 = ConstID from dbo.[Constants] where DisplayPart = @P3
if (@@rowcount > 1)
begin
raiserror(600174, 16, 1) with seterror, nowait
return
end
set @P3_1 = isnull(@P3_1,-2147483648);
因为它们出现不止一次,查询失败并出现错误。因此,为了解决这个问题,我们将重复的常量重命名为最新的ConstID
不同的东西(我们将一个?添加到最后),然后嘿!它再次起作用。
如果我发现为什么会这样,我会发布更新。与此同时,我希望这对任何遇到同样烦人问题的人都有帮助