Определение размера дельт в TFS - PullRequest
0 голосов
/ 23 июня 2010

Наша база данных TFSVersionControl значительно выросла за последние пару лет и занимает 80 ГБ. К сожалению, мы находимся в среде, где каждый гигабайт хранилища данных оплачивается изнутри с высокой скоростью, поэтому большое внимание уделяется поддержанию минимального роста хранилища.

Я считаю, что большая часть роста происходит потому, что мы решили хранить двоичные файлы в нашем хранилище. Это то, что мы будем исправлять в среднесрочной перспективе.

В краткосрочной перспективе есть несколько мест, где нам не нужно хранить историю наших двоичных файлов. Особенно в нашей ветке mainline и нашей ветке разработки, поэтому мы собираемся выполнить TF Destroy для этих двоичных файлов и воссоздать их как часть следующего выпуска.

Что я хотел бы знать: есть ли способ выполнить запрос к базе данных TFSVersionControl, чтобы понять, какие файлы хранят дельты, превышающие заданный размер?

В идеале, я хотел бы знать, что это за заданный путь (спецификация элемента), для каждого файла, базовый размер и общий размер дельт.

Ответы [ 2 ]

1 голос
/ 24 июня 2010

Я думаю эта страница может быть то, что вы ищете.

0 голосов
/ 24 июня 2010

Точно так же, как просьба к кому-то другому часто заставляет вас искать свой собственный ответ, я сделал несколько дополнительных копаний и придумал следующее:

select ver.VersionFrom, ver.Command, ver.ChildItem, tf.*, ct.CreationDate, ct.OffsetFrom, ct.OffsetTo, DataLength(ct.Content) as Size
from tbl_version ver with (nolock)
inner join tbl_file tf with (nolock) on tf.FileId = ver.FileId
inner join tbl_content ct with (nolock) on ct.FileId = tf.fileid 
where parentpath = '$\ProjectName\Branch\Folder\'
ORDER BY ver.ChildItem, Ver.VersionFrom

--where fullpath = '$\ProjectName\Branch\Folder\FileName.cs\'

Запрашиваемый запрос будет перебирать все файлы вконкретный путь и будет получать запись за регистрацию.Вычисленное поле Размер покажет вам размер в байтах дельты.Я не уверен, что это сжатый размер или "фактический" размер.

Комментируемый оператор "where" покажет вам то же самое для отдельного файла.

Обратите внимание, что типичные прямые косые черты("/") хранятся в базе данных в виде обратной косой черты ("\"), и в конце всегда есть завершающая обратная косая черта.

Если вы перетащите эти данные в Excel, вы можете быстро создать сводную таблицуна нем рассчитать размеры (или вы можете сложить их вручную).

...