Безопасно ли уменьшать размер БД TFS с помощью удаления хранимых процедур? - PullRequest
0 голосов
/ 11 июня 2018

У нас есть TFS 2017.3 и огромная база данных - около 1,6 ТБ .

Я хочу попытаться очистить пространство, выполнив 2 хранимые процедуры:

  • prc_CleanupDeletedFileContent
  • prc_DeleteUnusedFiles
  • prc_DeleteUnusedContent

Безопасно ли его запускать?Есть ли вероятность, что он удалит важные вещи, которыми я сейчас пользуюсь?(конечно, я сделаю резервную копию раньше ...)

Каковы наилучшие значения для этих хранимых процедур?

Другое дело - если я выполню этот запрос:

    SELECT A.[ResourceId]  
  FROM [Tfs_DefaultCollection].[dbo].[tbl_Content] As A
  left join [Tfs_DefaultCollection].[dbo].[tbl_FileMetadata] As B on A.ResourceId=B.ResourceId
  where B.[ResourceId] IS Null

Я получил результат 10681. Если я выполню этот запрос:

SELECT A.[ResourceId]  
  FROM PTU_NICE_Coll.[dbo].[tbl_Content] As A
  left join PTU_NICE_Coll.[dbo].tbl_FileReference As B on A.ResourceId=B.ResourceId
  where B.[ResourceId] IS Null

Я получу результат 10896.

Как я могу удалить эти строки?и безопасно ли их удалить?

1 Ответ

0 голосов
/ 12 июня 2018

Как правило, мы не рекомендуем выполнять действия с БД напрямую, так как это может вызвать проблемы.

Однако, если вам нужно это сделать, то вам необходимо сначала сделать резервную копию БД .

Вы можете обратиться к следующим статьям, чтобы очистить и уменьшить размер баз данных TFS:

Другой вариантэто углубиться в базу данных и запустить очистку хранимых процедур вручную.Если ваша таблица Content большая:

EXEC prc_DeleteUnusedContent 1

Если ваша таблица Files большая:

EXEC prc_DeleteUnusedFiles 1, 0, 1000

Этот второй sproc может работать долго, поэтому у него есть третий параметр, которыйопределяет размер партии.Вы должны запустить этот sprocs несколько раз, или, если он завершится быстро, вы можете увеличить размер чанка.

...