Окончательное удаление потерянных файлов
Обновлен: Ноябрь 2007
Вам может потребоваться удалить файлы, ставшие потерянными, когда пользователь на клиенте удалил вложение из рабочего элемента. Например, в рабочий элемент был вложен разрушенный или зараженный вирусом файл.
Удаление файла обозначает удаление его из рабочего элемента и из проекта. В базах данных все еще содержатся строки для метаданных и содержимого этого файла. Однако, поле RemovedDate меняется на текущую дату и время, и файл становятся потерянным. Как администратор базы данных, вы можете окончательно удалить вложение.
Содержимое файла хранится в базе данных TfsWorkItemTrackingAttachment в виде отдельной записи. В записи содержится GUID файла и его содержимое в виде поля типа image.
Метаданные файла хранятся в таблице WorkItemFiles базы данных TfsWorkItemTracking. Метаданные включают идентификационный номер рабочего элемента.
Дополнительные сведения о SQL Server и Team Foundation Server см. в разделе Понимание сервера SQL и служб отчетов сервера SQL.
Необходимые разрешения
Для выполнения этой операции вы должны быть членом группы Администратор SQL Server или иметь права администратора базы данных для выполнения команд DELETE. После удаления из командного проекта зараженный вирусом файл будет недоступен.
Чтобы удалить потерянное вложение рабочего элемента
В Сред. Командный обозреватель откройте рабочий элемент и во вкладке Файл удалите файл.
Примечание.
Файл может быть удален или стать потерянным либо в результате действий пользователя на клиенте, либо в результате действий администратора.
Войдите на сервер уровня данных как пользователь с разрешениями на администрирование базы данных.
Нажмите кнопку Пуск, выберите пункты Все программы и 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 в результатах запроса найдите имя файла и сохраните значение GUID, находящееся в столбце FilePath.
В базе данных TfsWorkItemAttachment выполните Deleteзапрос на удаление, используя это значение GUID.
Примечание.
Действие запроса на удаление отменить нельзя. В качестве предупредительной меры перед выполнением запроса на удаление рекомендуется создать резервную копию данных.
USE TfsWorkItemAttachment GO DELETE FROM Attachments WHERE FileGuid=<<GUID>>