Поделиться через


Общие сведения о резервном копировании Team Foundation Server

Для защиты развертывания от потери данных можно создать расписание резервного копирования для баз данных, от которых зависит работа Visual Studio Team Foundation Server (TFS). Чтобы иметь возможность полностью восстановить развертывание Team Foundation, необходимо сначала выполнить резервное копирование всех баз данных для TFS. Если в состав развертывания входят службы отчетов Продукты SharePoint или SQL Server, необходимо также выполнить резервное копирование баз данных, которые TFS использует в этих компонентах. Для предотвращения ошибок синхронизации или несоответствия данных необходимо синхронизировать все резервные копии, чтобы они имели одну и ту же отметку времени. Самый простой способ обеспечить синхронизацию — это использовать помеченные транзакции. Регулярная пометка связанных транзакций в каждой базе данных Team Foundation позволяет создать ряд общих точек восстановления в базах данных. Пошаговые инструкции по резервному копированию односерверного развертывания, в котором используются SharePoint Foundation и отчетность, см. в разделе Настройка расписания и плана резервного копирования.

Резервное копирование баз данных

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

Тип базы данных

Продукт

Необязательный компонент?

База данных конфигурации

Team Foundation Server

Нет

База данных хранилища

Team Foundation Server

Нет

Базы данных коллекции командного проекта

Team Foundation Server

Нет

Базы данных Продукты SharePoint

Продукты SharePoint

Да

Базы данных отчетов

Службы отчетов SQL Server

Да

Базы данных аналитики

Службы аналитики SQL Server

Да

Топологии развертывания

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

Простая топология с базами данных

Базы данных также могут быть распределены по нескольким серверам и фермам серверов. В данном примере топологии необходимо создавать резервные копии следующих баз данных, которые расположены на шести серверах или фермах серверов:

  • базы данных конфигурации;

  • базы данных хранилища;

  • баз данных коллекции командного проекта, расположенных в кластере SQL Server;

  • базы данных коллекции, расположенной на изолированном сервере SQL Server;

  • административных баз данных Продукты SharePoint и баз данных семейства веб-сайтов для обоих веб-приложений SharePoint1;

  • баз данных, расположенных на сервере, на котором работают службы отчетов;

  • базы данных, расположенной на сервере, на котором работают службы аналитики.

1 Если базы данных SharePoint расположены на нескольких серверах, использовать функцию "Плановые резервные копии" для их резервного копирования невозможно. Резервное копирование для этих баз данных необходимо настроить вручную и обеспечить синхронизацию создаваемых копий с резервными копиями баз данных TFS. Дополнительные сведения см. в разделе Резервное копирование сервера Team Foundation Server вручную.

Пример: сложное распределение баз данных

В обоих примерах не нужно создавать резервные копии каких-либо клиентов, подключающихся к серверу. При этом может потребоваться вручную очистить кэши для Team Foundation Server на клиентских компьютерах, чтобы они могли повторно подключиться к восстановленному развертыванию.

Базы данных, подлежащие резервному копированию

В приведенном далее списке содержатся дополнительные сведения о том, что именно следует включать в состав резервного копирования в зависимости от имеющихся ресурсов развертывания.

Предупреждение

Все базы данных в этом списке являются базами данных SQL Server.Хотя с помощью SQL Server Management Studio можно в любой момент создать резервную копию отдельной базы данных, использования таких отдельных резервных копий по возможности следует избегать.При восстановлении из отдельных резервных копий возможны непредвиденные результаты, поскольку все базы данных, используемые TFS, связаны между собой.При создании резервной копии одиночной базы данных данные в ней будут рассинхронизированы с данными в других базах данных.

  • Базы данных для Team Foundation Server. Логический уровень данных для Team Foundation Server состоит из нескольких баз данных SQL Server, к которым относится база данных конфигурации, база данных хранилища и база данных для каждой коллекции командного проекта в развертывании. Эти базы данных могут располагаться на одном сервере, могут быть распределены по нескольким экземплярам в одном развертывании SQL Server или же могут быть распределены по нескольким серверам. Независимо от конкретного физического распределения необходимо создавать резервные копии всех баз данных с одной и той же отметкой времени, чтобы предотвратить потерю данных. Резервное копирование баз данных можно выполнять вручную или автоматически с использованием планов обслуживания, запускаемых в указанное время или через указанные интервалы.

    Предупреждение

    Список баз данных для Team Foundation Server не является статическим.При каждом создании коллекции создается новая база данных.При создании коллекции обязательно добавьте базу данных для этой коллекции в план обслуживания.

  • Базы данных для продуктов SharePoint. Если в развертывании для размещения порталов командного проекта используется Продукты SharePoint, необходимо создавать резервные копии нескольких баз данных. К ним относятся база данных администрирования для каждого веб-приложения SharePoint, используемого в развертывании, и базы данных семейств веб-сайтов, где размещены порталы командных проектов. Идеальный случай — это когда развертывание настроено для использования отдельного семейства веб-сайтов для каждой коллекции командных проектов в развертывании. Аналогично тому, как резервные копии коллекций командных проектов в Team Foundation Server можно создавать и восстанавливать как одно целое, в Продукты SharePoint можно создавать и восстанавливать резервные копии семейств веб-сайтов. Если одна или несколько коллекций в развертывании использует в качестве корневого сайта сайты или дочерние сайты, а не семейства веб-сайтов, может оказаться, что полное резервное копирование и восстановление коллекций невозможно. Дополнительные сведения см. в разделе Управление коллекциями командных проектов.

    Примечание

    Можно предположить, что необходимо выполнять резервное копирование как баз данных, так и веб-сайтов со страницами порталов командных проектов.Однако Продукты SharePoint динамически формирует веб-сайты из баз данных.В связи с этим при создании резервных копий баз данных также создаются резервные копии разделов командных проектов, отображаемых в качестве веб-сайтов.Если пользовательские семейства веб-сайтов, шаблоны сайтов или веб-части были созданы в Продукты SharePoint, но не в Team Foundation, создавать их резервные копии необходимо отдельно.Дополнительные сведения см. на следующей странице веб-сайта корпорации Microsoft: Backup (SharePoint Foundation Foundation).

  • Базы данных для служб отчетов и служб аналитики. Если в развертывании отчеты для Team Foundation Server создаются с помощью служб отчетов SQL Server или служб аналитики SQL Server, необходимо также создавать резервные копии баз данных отчетов и аналитики. Однако после восстановления некоторые базы данных (например, хранилище данных) придется создавать повторно.

  • Ключ шифрования для сервера отчетов. Сервер отчетов имеет ключ шифрования, резервную копию которого необходимо создавать. Этот ключ защищает конфиденциальные сведения, хранящиеся в базе данных сервера отчетов. Можно вручную создать резервную копию этого ключа, используя средство конфигурации служб отчетов или программу командной строки.

Расширенная подготовка к резервному копированию

При развертывании Team Foundation следует записывать создаваемые учетные записи и любые указываемые имена компьютеров, пароли и параметры. Кроме того, следует сохранять в безопасном расположении копии всех материалов для восстановления и документов, а также резервные копии баз данных и журналов транзакций. Для защиты от аварии, например пожара или землетрясения, следует хранить дубликаты резервных копий серверов в расположении, отличном от расположения серверов. Такая стратегия будет способствовать защите от потери критически важных данных. Рекомендуется хранить три копии резервных носителей, как минимум одна из которых должна храниться за пределами площадки в контролируемой среде.

Важно!

Периодически выполняйте пробное восстановление данных для проверки правильности резервного копирования файлов.Пробное восстановление может вскрыть аппаратные проблемы, которые не обнаруживаются программными проверками.

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

  • План отслеживания и управления хранением и утилизацией резервных наборов данных.

  • Расписание перезаписи резервных носителей.

  • В многосерверной среде — решение о централизованном или распределенном резервном копировании.

  • Способ отслеживания срока службы носителей.

  • Процедура для минимизации последствий при утере резервного набора данных или резервных носителей (например, ленты).

  • Решение о хранении резервных наборов данных на площадке или за ее пределами и анализ потенциального влияния этого решения на сроки восстановления.

Так как данные Team Foundation хранятся в базах данных SQL Server, резервное копирование компьютеров, на которых установлены клиенты Team Foundation, необязательно. В случае отказа носителей или аварии, затрагивающей эти компьютеры, можно переустановить клиентское программное обеспечение и повторно подключиться к серверу. Переустановка клиентского программного обеспечения является более чистым и надежным способом по сравнению с восстановлением клиентского компьютера из резервной копии.

Резервную копию сервера можно создать с помощью функций "Плановые резервные копии", доступных в Обновлении 2, или путем создания вручную в SQL Server планов обслуживания для резервного копирования баз данных, связанных с развертыванием Team Foundation. Базы данных для Team Foundation Server работают взаимосвязано, и при создании плана вручную их резервные копии необходимо создавать и восстанавливать одновременно. Дополнительные сведения о стратегиях резервного копирования баз данных см. на следующей странице веб-сайта корпорации Microsoft: Введение в стратегию резервного копирования и восстановления в SQL Server.

Типы резервных копий

Наличие представления о возможных типах резервных копий может помочь определить оптимальные варианты резервного копирования развертывания. Например, при работе с большим развертыванием, чтобы защититься от потери данных и одновременно эффективно использовать ограниченные ресурсы хранилища, можно настроить создание разностных резервных копий, а также полных резервных копий. При использовании SQL Server ALwaysOn можно создавать резервные копии вторичной базы данных. Можно также попробовать использовать сжатие резервных копий или разбиение резервных копий на несколько файлов. Ниже приведено краткое описание возможных вариантов резервного копирования:

Полные резервные копии данных (базы данных)   Полное резервное копирование базы данных необходимо для обеспечения возможности восстановления развертывания. В полную резервную копию входит часть журнала транзакций, что позволяет восстановить полную резервную копию. Полные резервные копии являются самодостаточными в том смысле, что они представляют полную базу данных, существующую на момент создания ее резервной копии. Дополнительные сведения см. на следующей странице веб-сайта корпорации Microsoft: Полные резервные копии баз данных.

Разностные резервные копии данных (базы данных) В разностной резервной копии базы данных сохраняются только данные, изменившиеся с момента создания последней полной резервной копии базы данных, которая в данном случае называется базовой копией для разностного копирования. Разностное резервное копирование баз данных компактнее и быстрее по сравнению с полным резервным копированием. Его использование позволяет сократить время резервного копирования за счет повышенной сложности. Для больших баз данных разностное резервное копирование может выполняться с меньшими интервалами, чем в случае полного резервного копирования, что сокращает вероятность потери рабочих данных. Дополнительные сведения см. на следующей странице веб-сайта корпорации Microsoft: Разностные резервные копии баз данных.

Также следует регулярно создавать резервные копии журналов транзакций. Эти резервные копии необходимы для восстановления данных при использовании модели полного резервного копирования баз данных. При наличии резервных копий журналов транзакций базу данных можно восстановить до точки сбоя или до другого момента времени.

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

Резервные копии журналов транзакций позволяют восстановить базу до предшествующего момента времени. Например, можно восстановить базу данных в том состоянии, которое она имела перед вводом нежелательных данных или до сбоя. Кроме резервных копий базы данных, резервные копии журнала транзакция также должны быть частью стратегии восстановления. Дополнительные сведения см. на следующей странице веб-сайта корпорации Microsoft: Использование резервных копий журналов транзакций.

Резервные копии журнала транзакций обычно занимают меньше ресурсов, чем полные резервные копии. Поэтому резервные копии журналов транзакций можно создавать чаще, чем полные резервные копии, что снижает риск потери данных. Однако иногда резервная копия журнала транзакций занимает больше места, чем полная копия. Например, база данных может отличаться высоким темпом транзакций, что приводит к быстрому увеличению журнала транзакций. В такой ситуации следует чаще создавать резервные копии журнала транзакций. Дополнительные сведения см. на следующей странице веб-сайта корпорации Microsoft: Устранение неполадок при переполнении журнала транзакций.

Далее перечислены типы резервных копий журналов транзакций, которые можно создавать:

  • Чистая резервная копия журнала содержит только записи из журнала транзакций за период времени, без каких-либо массовых изменений.

  • Резервная копия неполного журнала и массовых изменений содержит журнал и страницы данных, измененные массовыми операциями. Восстановление на момент времени не поддерживается.

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

Поскольку для успешного восстановления Team Foundation Server крайне важна синхронизация данных, стратегия резервного копирования должна предусматривать использование помеченных транзакций, если операции резервного копирования настраиваются вручную. Дополнительные сведения см. в разделах Настройка расписания и плана резервного копирования и Резервное копирование сервера Team Foundation Server вручную.

Резервное копирование служб (уровень приложений)

На логическом уровне приложений резервное копирование обязательно только для ключа шифрования служб отчетов. При использовании функции "Плановые резервные копии" для резервного копирования развертывания этот ключ будет копироваться в рамках настроенного плана. Можно предположить, что необходимо создавать резервные копии веб-сайтов, которые используются в качестве порталов командных проектов. Если Продукты SharePoint интегрируется в состав развертывания Team Foundation Server, резервное копирование порталов будет выполняться в рамках резервного копирования баз данных для Team Foundation Server и Продукты SharePoint. Тем не менее резервное копирование и восстановление веб-сайта, который не был создан с помощью интегрированного веб-приложения, необходимо выполнять вручную. Кроме того, если существуют какие-либо настройки Продукты SharePoint или служб, для них также следует создавать резервные копии или регистрировать их другим способом, чтобы можно было воспроизвести их на новом сервере.

Хотя резервное копирование уровня приложений можно выполнить проще, чем копирование уровня данных, при восстановлении уровня приложения требуется выполнить большое число действий. Необходимо установить другой уровень приложений для Team Foundation, перенаправить коллекции командных проектов на этот новый уровень приложений, а также перенаправить сайты порталов командных проектов.

Имена баз данных, используемые по умолчанию

Если имена баз данных не настраивались, для идентификации баз данных, используемых в развертывании Team Foundation Server, можно использовать следующую таблицу. Как уже говорилось, не во всех развертываниях имеются все перечисленные базы данных. Например, если в Team Foundation Server не настроено использование служб отчетов, то в развертывании не будет баз данных ReportServer и ReportServerTempDB. Аналогично в нем не будет базы данных диспетчера виртуальных машин System Center (SCVMM), которая называется VirtualManagerDB, если на сервере Team Foundation Server не настроена поддержка Lab Management. Кроме того, базы данных, используемые Team Foundation Server, могут быть распределены по нескольким экземплярам SQL Server или по нескольким серверам.

Примечание

Префикс TFS_ по умолчанию добавляется к именам всех баз данных, создаваемых автоматически во время установки или работы Team Foundation Server.

База данных

Описание

TFS_Configuration

База данных конфигурации для Team Foundation Server, содержащая каталог, имена серверов и данные конфигурации для развертывания. В имени этой базы данных между TFS_ и Configuration могут находиться дополнительные символы, например имя пользователя, установившего Team Foundation Server. Например, база данных может иметь имя TFS_UserNameConfiguration.

TFS_Warehouse

База данных хранилища, содержащая данные для построения хранилища, используемого службами отчетов. В имени этой базы данных между TFS_ и Warehouse могут находиться дополнительные символы, например имя пользователя, установившего Team Foundation Server. Например, база данных может иметь имя TFS_UserNameWarehouse.

TFS_CollectionName

База данных для коллекции командных проектов, содержащая все данные командных проектов из этой коллекции. К этим данным относится исходный код, конфигурации сборок и конфигурации Lab Management. Количество баз данных коллекций совпадает с числом имеющихся коллекций. Например, если в развертывании имеется три коллекции, то необходимо создавать резервные копии трех баз данных коллекций. В имени каждой базы данных между TFS_ и CollectionName могут находиться дополнительные символы, например имя пользователя, создавшего эту коллекцию. Например, база данных коллекции может иметь имя TFS_UserNameCollectionName.

TFS_Analysis

База данных для служб аналитики SQL Server, содержащая источники данных и кубы для развертывания Team Foundation Server. В имени этой базы данных между TFS_ и Analysis могут находиться дополнительные символы, например имя пользователя, установившего службы аналитики. Например, база данных может иметь имя TFS_UserNameAnalysis.

Примечание

Можно создавать резервные копии этой базы данных, но перестраивать хранилище следует по восстановленной базе данных TFS_Warehouse.

ReportServer

База данных для служб отчетов, содержащая отчеты и параметры отчетов для развертывания Team Foundation Server.

Примечание

Если службы отчетов установлены на сервере, отличном от Team Foundation Server, то эта база данных может отсутствовать на сервере уровня данных для Team Foundation.В этом случае необходимо выполнять настройку, резервное копирование и восстановление отдельно от Team Foundation Server.Однако следует синхронизировать обслуживание баз данных во избежание ошибок синхронизации.

ReportServerTempDB

Временная база данных для служб отчетов служит для временного хранения сведений при запуске особых отчетов.

Примечание

Если службы отчетов установлены на сервере, отличном от Team Foundation Server, то эта база данных может отсутствовать на сервере уровня данных для Team Foundation.В этом случае необходимо выполнять настройку, резервное копирование и восстановление отдельно от Team Foundation Server.Однако следует синхронизировать обслуживание баз данных во избежание ошибок синхронизации.

WSS_Config

База данных конфигурации для Продукты SharePoint, содержащая список всех сайтов, таких как базы данных контента, шаблоны сайтов, пользовательские веб-части и другие параметры центра администрирования SharePoint.

Примечание

Не следует использовать помеченные транзакции при ручном резервном копировании или восстановлении баз данных, используемых Продукты SharePoint.Однако, чтобы избежать ошибок синхронизации, вместо этого следует попытаться синхронизировать расписания резервного копирования и восстановления для Продукты SharePoint и Team Foundation Server.Дополнительные сведения см. в разделе Создание плана резервного копирования для SharePoint Foundation.

WSS_Content

База данных контента для Продукты SharePoint, в которой хранится фактический контент порталов командных проектов.

Примечание

Имя этой базы данных может меняться в зависимости от установленной версии Продукты SharePoint и от того, настраивалось ли имя тем пользователем, который выполнял установку.Не следует использовать помеченные транзакции при ручном резервном копировании или восстановлении баз данных, используемых Продукты SharePoint.Однако, чтобы избежать ошибок синхронизации, вместо этого следует попытаться синхронизировать расписания резервного копирования и восстановления для Продукты SharePoint и Team Foundation Server.Дополнительные сведения см. в разделе Создание плана резервного копирования для SharePoint Foundation.

WSS_AdminContent

База данных администрирования для Продукты SharePoint, содержащая сведения о безопасности для пользователей, ролей и баз данных.

Примечание

Не следует использовать помеченные транзакции при ручном резервном копировании или восстановлении баз данных, используемых Продукты SharePoint.Однако, чтобы избежать ошибок синхронизации, вместо этого следует попытаться синхронизировать расписания резервного копирования и восстановления для Продукты SharePoint и Team Foundation Server.Дополнительные сведения см. в разделе Создание плана резервного копирования для SharePoint Foundation.

VirtualManagerDB

База данных администрирования диспетчера SCVMM содержит сведения, отображаемые в консоли администратора SCVMM, например виртуальные машины, компьютеры виртуальных машин, серверы библиотек виртуальных машин и их свойства.

Примечание

Если диспетчер SCVMM установлен на сервере, отличном от Team Foundation Server, эта база данных может отсутствовать на сервере уровня данных Team Foundation.В этом случае необходимо выполнять настройку, резервное копирование и восстановление отдельно от Team Foundation Server.Однако следует использовать помеченные транзакции и синхронизировать обслуживание баз данных во избежание ошибок синхронизации.

См. также

Основные понятия

Резервное копирование и восстановление TFS

Другие ресурсы

Восстановление развертывания на новом оборудовании