so war die Frage am Ende, dass TFS Etiketten zu Benutzerkonten zugeordnet wurden, die nicht mehr existieren würde.
Der Microsoft-Rep erstellte das folgende Skript unten. Er ordnet die beschädigten Labels einem vorhandenen Konto zu.
/* Script to reassign TFVC artifact ownership to an existing identity
* The 16 was selected from the healthy identities as
* determined by this script
SELECT *
FROM tbl_VCIdentityMap vcim
LEFT JOIN tbl_Identity i
ON i.PartitionId = vcim.PartitionId
AND i.Id = vcim.TeamFoundationId
WHERE i.PartitionId IS NOT NULL
ORDER BY IdentityId
*/
DECLARE @ownerId INT = 844
-- tbl_Labels
UPDATE l
SET l.OwnerId = @ownerId
FROM tbl_Label l
LEFT JOIN tbl_VCIdentityMap vcim
ON vcim.PartitionId = l.PartitionId
AND vcim.IdentityId = l.OwnerId
WHERE l.PartitionId = 1
AND vcim.IdentityId IS NULL
-- tbl_Workspace
UPDATE w
SET w.OwnerId = @ownerId
FROM tbl_Workspace w
LEFT JOIN tbl_VCIdentityMap vcim
ON vcim.PartitionId = w.PartitionId
AND vcim.IdentityId = w.OwnerId
WHERE w.PartitionId = 1
AND vcim.IdentityId IS NULL
-- tbl_Branch
UPDATE b
SET b.OwnerId = @ownerId
FROM tbl_Branch b
LEFT JOIN tbl_VCIdentityMap vcim
ON vcim.PartitionId = b.PartitionId
AND vcim.IdentityId = b.OwnerId
WHERE b.PartitionId = 1
AND vcim.IdentityId IS NULL
-- tbl_Changeset OwnerId
UPDATE c
SET c.OwnerId = @ownerId
FROM tbl_Changeset c
LEFT JOIN tbl_VCIdentityMap vcim
ON vcim.PartitionId = c.PartitionId
AND vcim.IdentityId = c.OwnerId
WHERE c.PartitionId = 1
AND vcim.IdentityId IS NULL
-- tbl_Changeset CommitterId
UPDATE c
SET c.CommitterId = @ownerId
FROM tbl_Changeset c
LEFT JOIN tbl_VCIdentityMap vcim
ON vcim.PartitionId = c.PartitionId
AND vcim.IdentityId = c.CommitterId
WHERE c.PartitionId = 1
AND vcim.IdentityId IS NULL
Nach diesem Skript konnte ich den Befehl Etiketten ausführen. Aber es gab immer noch ein paar schlechte Accounts - TF14132: Identität nicht gefunden
Mit den Namen der Etiketten konnte ich die Identität des schlechten Benutzers erhalten und sie mit einem guten Benutzer aktualisieren.
select * from tbl_Label where LabelName like '%BadLabelIdentityName%'
DECLARE @ownerId INT = GoodIdentityNumber
UPDATE l
SET l.OwnerId = @ownerId
FROM tbl_Label l
where l.OwnerId = BadIdentityNumber
Meinten Sie einfach nur die 'TF Etiketten/Besitzer angetroffen: *' Fehler –
problemCould tritt Sie Quellcodeverwaltung zu sehen führen durch das Fenster Explorer den Unterordner der rechten Maustaste, für die Sie die entsprechenden Etiketten auflisten möchten und wählen Sie View History aus dem Kontextmenü und wählen Sie dann Labels? –
Hey Patrick, ja das Problem tritt nur auf, wenn ich "tf labels/owner: *" führe Wenn ich meinen Namen als Besitzer setze, sehe ich alle meine Labels, wenn ich die Sammlung ändere und/Besitzer: * alles funktioniert. Wir hatten zuvor Probleme mit schlechten Benutzern in der Datenbank. Ich habe ein Vorfallticket bei Microsoft hinterlegt und melde mich mit einer Antwort zurück, wenn alles behoben ist. – Lareau