Procedura: eliminare permanentemente i file orfani
Aggiornamento: novembre 2007
È possibile che sia necessario eliminare permanentemente i file che rimangono orfani quando un utente client elimina un allegato da un elemento di lavoro, ad esempio nel caso in cui il file allegato a un elemento di lavoro è danneggiato o infetto da virus.
Quando si elimina, il file viene rimosso dall'elemento di lavoro e dal progetto, ma nei database rimangono le righe per i metadati e il contenuto. RemovedDate viene però impostato sulla data e ora corrente e il file risulta orfano. In qualità di amministratore è possibile eliminare l'allegato in modo permanente.
Il contenuto del file viene memorizzato nel database TfsWorkItemTrackingAttachment come singola voce per il file. Questa voce include un GUID e il contenuto sotto forma di immagine.
I metadati per il file vengono memorizzati nella tabella WorkItemFiles del database TfsWorkItemTracking. Tra i metadati figurano il numero ID dell'elemento di lavoro.
Per ulteriori informazioni su SQL Server e Team Foundation Server, vedere Informazioni su SQL Server e SQL Server Reporting Services.
Autorizzazioni necessarie
Per eseguire questa procedura, è necessario essere un membro del gruppo Administrator di SQL Server o disporre delle autorizzazioni di amministrazione del database per l'esecuzione di comandi DELETE. Dopo che un file infetto da virus è stato rimosso dal progetto Team, non è più disponibile.
Per eliminare un file allegato orfano di un elemento di lavoro
In Team Explorer aprire l'elemento di lavoro ed eliminare il file dalla scheda File.
Nota: L'utente client o l'amministratore possono eliminare il file e renderlo orfano nel database.
Accedere al server a livello dati come utente con autorizzazioni di amministrazione del database.
Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server 2005 e quindi SQL Server Management Studio.
Nella finestra di dialogo Connetti al server selezionare il server, quindi fare clic su Connetti.
Nota: Se il nome del server non è presente nella finestra di dialogo, è possibile digitarlo direttamente nella casella.
Eseguire una query nel database TfsWorkItemTracking per ottenere l'elenco degli allegati per l'elemento di lavoro.
Ad esempio, è possibile utilizzare la seguente query che restituisce tutti gli elementi con allegati in base al valore FldID 50 e all'ID dell'elemento di lavoro:
USE TfsWorkItemTracking GO SELECT * FROM WorkItemFiles WHERE FldID=50 AND ID = 15
Nella colonna OriginalName dei risultati della query individuare il nome del file e annotare il GUID presente nella colonna FilePath.
Nel database TfsWorkItemAttachment eseguire una query Delete basata sul GUID.
Nota: Una volta eseguita, la query di eliminazione non potrà essere annullata. È pertanto consigliabile eseguire una copia di backup dei dati prima di eseguire una query di eliminazione.
USE TfsWorkItemAttachment GO DELETE FROM Attachments WHERE FileGuid=<<GUID>>