如何:永久删除孤立文件

更新:2007 年 11 月

当客户端用户从工作项中删除附件时,您可能要永久删除孤立文件。例如,工作项可能含有已损坏的或带有病毒的附加文件。

删除该文件会将其从工作项和项目中移除。数据库仍然包含元数据和内容的行。但是,RemovedDate 会更改为当前日期和时间,并且该文件会变成孤立文件。作为数据库管理员,您可以永久地删除该附件。

该文件的内容在 TfsWorkItemTrackingAttachment 数据库中存储为表示该文件的单个项。该项包含一个 GUID 和其内容作为映像。

该文件的元数据存储在 TfsWorkItemTracking 数据库的 WorkItemFiles 表中。元数据包括工作项的 ID 号。

有关 SQL Server 和 Team Foundation Server 的更多信息,请参见了解 SQL Server 和 SQL Server Reporting Services

必需的权限

若要执行此过程,您必须是“SQL Server Administrator”组的成员,或者具有发出 DELETE 命令所需的数据库管理权限。从团队项目中移除之后,感染了病毒的文件不可用。

删除孤立的工作项附件

  1. 在团队资源管理器中,打开工作项并从“文件”选项卡中删除该文件。

    说明:

    客户端用户或管理员可以删除该文件,使其在数据库中成为孤立文件。

  2. 以拥有数据库管理权限的用户身份登录到数据层服务器。

  3. 依次单击“开始”、“所有程序”、“Microsoft SQL Server 2005”,然后单击“SQL Server Management Studio”。

  4. 在“连接到服务器”对话框中选择服务器,再单击“连接”。

    说明:

    如果对话框中没有该服务器的名称,可以将名称直接键入到框中。

  5. 在 TfsWorkItemTracking 数据库中运行查询,以获取工作项的附件列表。

    例如,您可以使用下面的这个查询,该查询返回由 FldID 值 50 和工作项 ID 所指示的带有附件的项:

    USE TfsWorkItemTracking
    GO
    SELECT * FROM WorkItemFiles WHERE FldID=50 AND ID = 15
    
  6. 在查询结果的“OriginalName”列中,找到文件名,注意在“FilePath”列中找到的 GUID。

  7. 在 TfsWorkItemAttachment 数据库中,发出基于该 GUID 的 Delete 查询。

    说明:

    无法撤消“删除”查询的操作。作为预防措施,可在运行“删除”查询前备份数据。

    USE TfsWorkItemAttachment
    GO
    DELETE FROM Attachments WHERE FileGuid=<<GUID>>
    

请参见

参考

TFSDeleteProject

其他资源

管理数据

管理 Team Foundation Server 备份