2012-02-16 3 views
2

사용할 수있는 디스크 공간이 제한적인 Team Foundation Server가 있습니다. 그것을 유지하기 위해서는 이전 버전의 파일을 삭제해야합니다. 그것은 15 개 버전 TFS가 이전 버전의 파일을 자동으로 삭제하도록하려면 어떻게합니까?

의 최소가

    1. 그것은 특정 날짜보다 오래된이며,
    2. 은 어떻게 할 : 이상적으로

      , 나는 경우가 버전을 삭제하려는 경우에만 것 이 작업을 수행?

  • +2

    TFS 데이터베이스에서 이전 버전의 파일을 삭제하는 것보다 HDD를 업그레이드하는 것이 안전합니다. – DaveShaw

    +0

    HDD 란 무엇입니까? 좀 더 정보를주세요. –

    +0

    하드 디스크는 하드 드라이브 디스크입니다. 데이브가 바로 여기 있다고 생각해. 기존 소스 제어 항목에 대해 tfs에서 이전 버전을 제거하는 것은 대단히 나쁜 생각입니다. – jessehouwing

    답변

    4

    표준 방법이 없으며 이유가 있습니다. TFS는 일반적으로 기본 파일과 차이점 만 저장하려고하므로 이전 버전을 제거하기 시작하면 더 이상 얻을 수 없습니다. 대부분이 두 버전의 차이점 크기입니다.

    TFS 서버의 디스크 공간을 업그레이드하는 것은 확실히 장기적인 솔루션입니다.

    프로젝트 크기를 줄여야하는 경우 더 이상 사용할 수없는 오래된 분기를 파괴하는 것이 좋습니다. You can destroy whole files and folders which will remove them and the history associated to them from TFS. 기본적으로 명령 줄을 통해서만이 기능에 액세스 할 수 있으며 TFS에서 항목을 삭제할 수있는 권한이 있어야합니다. There is an extension for the Source Control Explorer that adds the Destroy command to the context menu in Visual Studio.

    Team Build 서버에서 자동화 된 테스트를 실행하는 경우 테스트 첨부 파일이 TFS 서버가 할당 된 공간에서 커지는 원인이 될 수 있습니다. Microsoft released a command line utility to clean up the Test Attachments.

    진정한 버전 기록을 재설정하려면 코드를 깨끗한 팀 프로젝트로 분기 한 다음 이전 버전을 폐기하십시오.

    2

    TFS의 어느 구성 요소가 가장 많은 디스크 공간을 사용하고 있는지도 확인해야합니다.

    Tfs_Collection 데이터베이스에서 다음 SQL 쿼리를 실행하여 가장 많은 공간을 차지하는 테이블을 확인할 수 있습니다.

    -- Table rows and data sizes 
    CREATE TABLE #t ( [name] NVARCHAR(128), [rows] CHAR(11), reserved VARCHAR(18),  data VARCHAR(18),  index_size VARCHAR(18), unused VARCHAR(18)) 
    GO 
    
    INSERT #t 
    EXEC [sys].[sp_MSforeachtable] 'EXEC sp_spaceused ''?''' 
    GO 
    
    SELECT 
        name as TableName, 
        Rows, 
        ROUND(CAST(REPLACE(reserved, ' KB', '') as float)/1024,2) as ReservedMB, 
        ROUND(CAST(REPLACE(data, ' KB', '') as float)/1024,2) as DataMB, 
        ROUND(CAST(REPLACE(index_size, ' KB', '') as float)/1024,2) as IndexMB, 
        ROUND(CAST(REPLACE(unused, ' KB', '') as float)/1024,2) as UnusedMB 
    FROM #t 
    ORDER BY CAST(REPLACE(reserved, ' KB', '') as float) DESC 
    GO 
    
    DROP TABLE #t 
    GO 
    

    Microsoft Test Manager를 사용하는 경우 테스트 첨부 파일이 생각보다 많은 공간을 사용하고있을 수 있습니다. 이 쿼리를 해석하는 방법과 수행 할 작업에 대한 자세한 내용은이 블로그 게시물을 참조하십시오. TFS2010: Test Attachment Cleaner and why you should be using it

    +0

    고마워요. 그랜트! 이 스크립트를 실행하고 다시 보겠습니다. 나는 1 주일 휴식을 취하고있다. 나중에 쿼리로 돌아올 것이다. 감사 :) –

    관련 문제