HOW TO:永久刪除失去關聯的檔案
更新:2007 年 11 月
您可能會想要永久刪除當用戶端使用者從工作項目中刪除附件時失去關聯的檔案。例如,工作項目中的附加檔案可能已損毀或含有病毒。
刪除檔案就會將它從工作項目和專案中移除。資料庫仍然會包含中繼資料和內容的資料列。但是,RemovedDate 會變更為目前的日期和時間,而且檔案會失去關聯。您身為資料庫管理員,即可永久刪除附件。
檔案的內容會儲存在 TfsWorkItemTrackingAttachment 資料庫中,當做該檔案的單一項目。此項目包含 GUID 和影像形式的內容。
檔案的中繼資料會儲存在 TfsWorkItemTracking 資料庫的 WorkItemFiles 資料表中。中繼資料包含工作項目的 ID 編號。
如需 SQL Server 和 Team Foundation Server 的詳細資訊,請參閱了解 SQL Server 和 SQL Server Reporting Services。
必要的使用權限
您必須是 [SQL Server Administrator] 群組的成員或擁有發出 DELETE 命令的資料庫管理權限,才能執行此程序。受到病毒感染的檔案,一旦從 Team 專案中移除之後即無法使用。
若要刪除失去關聯的工作項目附件
在 Team 總管中開啟工作項目,並從 [檔案] 索引標籤中刪除檔案。
注意事項: 用戶端使用者或系統管理員都可以刪除檔案,並且使其在資料庫中失去關聯。
以具有資料庫管理使用權限的使用者身分,登入資料層伺服器。
依序按一下 [開始]、[所有程式]、[Microsoft SQL Server 2005],然後按一下 [SQL Server Management Studio]。
在 [連接至伺服器] 對話方塊中,選取伺服器,然後按一下 [連接]。
注意事項: 如果伺服器的名稱不在對話方塊中,您可以直接在此方塊中輸入名稱。
在 TfsWorkItemTracking 資料庫中執行查詢,以取得工作項目的附件清單。
例如,您可以利用下面這項查詢,傳回的項目中將會包含 FldID 值 50 和工作項目 ID 所指的附件:
USE TfsWorkItemTracking GO SELECT * FROM WorkItemFiles WHERE FldID=50 AND ID = 15
在查詢結果的 [OriginalName] 欄中,找到檔案名稱,並記下 [FilePath] 欄中的 GUID。
在 TfsWorkItemAttachment 資料庫中,發出以此 GUID 為依據的 Delete 查詢。
注意事項: 您無法復原刪除查詢 (Delete Query) 的動作。為求安全起見,在執行刪除查詢之前,請先備份資料。
USE TfsWorkItemAttachment GO DELETE FROM Attachments WHERE FileGuid=<<GUID>>