2017-09-15 60 views
6

Użyliśmy starego stylu (XAML) kompilacji do miesiąca temu, a następnie zaczęliśmy używać buildów vNext. Potem zauważyłem, że tabela tbl_Content w bazie danych TFS zaczęła bardzo szybko rosnąć. Na przykład w ciągu ostatnich 8 godzin wzrosło o 10 GB i nie wiem, dlaczego tak się dzieje. Czy ktoś wie, co to jest?TFS tbl_Content zaczął bardzo szybko rosnąć po użyciu VNext build

Powodem, dla którego mówię, jest wersja vNext, ponieważ zauważyłem, że zaczęło się rozwijać po aktualizacji, ale jestem w błędzie. Mam nadzieję, że to nie będzie próbować przechowywać mojego kompilacji lub czegoś w tym stylu. Czy jest sposób wiedzieć, co jest w tabeli tbl_Content? Czy można je usunąć? Czy istnieje sposób, aby usunąć niektóre rzeczy z tej tabeli bez bałagania TFS?

Odpowiedz

1

Przeszukałem i próbowałem robić różne rzeczy, aby zobaczyć, co powoduje problem. Innym problemem jest brak dokumentacji dotyczącej schematu bazy danych TFS. Po spędzeniu prawie 10 godzin z grą z bazą TFS prawie stałem się profesjonalistą TFS DB. Odpytanie na temat tbl_Content, tbl_FileMetadata i tbl_FileType pomogło mi zrozumieć, co dokładnie powoduje problem.

Więc w końcu usuwając /V: diag z MSBuild argumentów stałych mój problem. Nie jestem pewien, co do bazy danych, ale każda kompilacja dodawała do bazy danych blisko 1 GB danych.

+1

Używając przełącznika '/ verbosity (/ v)' w msbuild, możesz kontrolować, ile danych pojawi się w logu wyjściowym. Proces kompilacji może być wolniejszy po ustawieniu/szczegółowości, a nawet spowolnieniu po ustawieniu/szczegółowości do diagnostyki. '/ v: diag', który dostarcza najwięcej informacji. –

1

Bazy danych TFS rosną z różnych powodów. Niektóre powszechne źródła wzrostu liczby wystąpień to: automatyzacja kompilacji lub zwolnienia bez konfigurowania odpowiedniej retention policies, tworzenie niewielkiej liczby bardzo dużych elementów (elementy pracy, pliki kontroli wersji, itp.) Przez ludzi lub narzędzia i tak dalej. Mamy pracę nad zaległościami, aby zapewnić większą czytelność rozkładu przestrzeni w bazach danych TFS.

Można spróbować użyć skryptu SQL, takie jak poniżej, aby pokazać wzrost tbl_Content ciągu ostatnich miesięcy:

select DATEPART(yyyy, CreationDate) as [year], 
    DATEPART(mm, CreationDate) as [month], 
    count(*) as [count], 
    SUM(DATALENGTH(Content))/1048576.0 as [Size in Mb], 
    (SUM(DATALENGTH(Content))/1048576.0)/count(*) as [Average Size] 
from tbl_Content 
group by DATEPART(yyyy, CreationDate), 
    DATEPART(mm, CreationDate) 
order by DATEPART(yyyy, CreationDate), 
    DATEPART(mm, CreationDate) 

Jest w stanie wiedzieć, aby spojrzeć na dystrybucję „właścicieli” dla dane w tbl_Content za pomocą zapytania SQL. Kroki szczegół zapoznaj odpowiedź Aaron HALLBERG w tym podobnym pytaniem: TFS Database size

aby zmniejszyć rozmiar tabeli tbl_Content, można odwołać się do tego bloga: TFS tbl_Content Table and Database growth out of control, można podsumować w trzech etapach w ogóle:

  1. Wyczyść kilka starych obszarów roboczych, których już nie potrzebujesz.
  2. Uruchom tf destory command, aby trwale usunąć niepotrzebne pliki źródłowe.
  3. Przy użyciu narzędzia TFS do clean Test attachments i wyników testu.
+0

Dziękuję za twój post, spróbowałem tego wszystkiego, zanim napisałem tutaj pytanie, a to nie pomogło, a przynajmniej nie zdawałem sobie sprawy z różnicy, ponieważ rozwijało się zbyt szybko. Po spędzeniu prawie dnia byłem w stanie to rozgryźć. Powiem to teraz. – Dilshod