I am building the backend for an application that will work with the TFS Object Model. So far I have a simple design with two tables. Instead of having a third table for the users, let’s say dbo.Users, I want to work with the UserID column under dbo.UserPermissions in the database Tfs_DefaultCollection:
UserID: S-1-5-21-1081711537-3457464029-1495713236-1119
I am wondering exactly where (which table, in which database) does TFS stores the Active Directory user information? Any advice and pointers towards online documentation on MSDN would be greatly appreciated. My goal is to map a user with a WorkItemID in one of my tables without having to add a new User table.
It is not supported, or recommended to work with the TFS tables directly. Doing so may adversely impact the function and performance of the system. It is also likely that the schema will change in a future version.
However, if you want to go ahead anyway, you will find the
tbl_security_identity_cachetable in yourtfs_configurationdatabase useful. It is where TFS syncs identities from AD too.