Заметки консультанта

Шамрай Александр Владимирович

Перенос баз данных Microsoft Visual Studio Team Foundation Server

Posted by Шамрай Александр на Январь 25, 2009

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

1. Установить сервер баз данных TFS на промежуточный сервер

2. Перенести базы данных на рабочий сервер баз данных

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

Примечание: прогодно только для использования на MS VS TFS 2005.

Процедуру переноса баз данных можно разделить на следующие этапы:

  1. Остановка служб
  2. Перенос баз данных
  3. Настройка сервера приложений
  4. Настройка Windows SharePoint
  5. Настройка SQL Report Server
  6. Запуск служб

Остановка служб

Перед переносом баз данных необходимо остановить следующие службы и сервисы:

  1. Системные службы Windows через панель администратора системы: TFSServerScheduler, SharePoint Timer Service.
  2. Web-сервисы с использованием панели администратора IIS, которые необходимы для работы сервера приложений: TFS App Pool, Report Server.
  3. Службу отчетности Reporting Services через  Reporting Services Configuration.

Перенос баз данных

Для переноса баз данных на исходном сервере необходимо сформировать копии баз данных TFS с помощью утилит резервного копирования MS SQL Server 2005. Необходимо сделать копии следующих баз:

  1. ReportServer
  2. ReportServerTempDB
  3. STS_Config_TFS
  4. STS_Content_TFS
  5. TfsActivityLogging
  6. TfsBuild
  7. TfsIntegration
  8. TfsVersionControl
  9. TFSWarehouse
  10. TfsWorkItemTracking
  11. TfsWorkItemTrackingAttachments

Ну и на следующим шагом соответственно является создание новых баз данных на основе сформированных копий на новом сервере баз данных.

Настройка сервера приложений

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

TfsAdminUtil RenameDT ИмяНовогоСервераБазДанных

Настройка Windows SharePoint

Для того, чтоб портал Windows SharePoint работал с новым сервером баз данных, также необходимо выполнить ряд настроек.

  1. Во первых, необходимо задать новую конфигурационную базу для портала. Для этого нужно войти в центр администрирования SharePoint Central Administration, перейти на страницу «Server Configuration»-«Set configuration database server»-«Configuration Database», указать наименование нового сервера баз данних и имя базы данных STS_Config_TFS, а также выбрать пункты «Database connection type»-«Use Windows authentication (recommended security level)» и «Connect to existing configuration database«.
  2. Во-вторых, нужно установить подключение к базе данных, которая содержит данные для портала. Для этого необходимо удалить старую базу на странице «Central Administration»-«Configure virtual server settings»-«Virtual Server List нажать Default Web Site»-«Virtual Server Settings выбрать Manage content databases»-«Manage Content Databases»-«STS_Content_TFS»-«Manage Content Database Settings» с помощью пункта «Remove content database». Далее нужно выбрать «Manage Content Databases»-«Add a content database» в «Database Information» нужно выбрать «Specify database server settings» и в поле «Database name» набрать STS_CONTENT_TFS. В секции «Database Capacity Settings в Number of sites before a warning event is generated» набрать 9000 и в «Maximum number of sites that can be created in this database» набрать 15000.
  3. И на последнем шаге нужно запусть службу Windows с использованием панели администратора SharePoint Timer Service.

Настройка SQL Report Server

Для перенастройки сервера отчетности необходимо:

  1. Запустить службу Windows отчетности Report Server.
  2. Перейти на конфигурационную страницу Server Status в программе администрирования «Microsoft SQL Server 2005»-«Configuration Tools»-«Reporting Services Configuration» и в разделе «Report Server Status»-«Instance Properties» нажать Start.
  3. На странице «Database Setup»-«Database Connection» набрать наименование нового сервера баз данных Team Foundation в поле «Server Name» и нажать Connect.
  4. На странице «Windows Service Identity» в поле «Built-in Service Account» должно быть выбрано Network Service и кнопка Apply должна быть недоступна. Для того, чтоб дать доступ серверу приложений Team Foundation к SQL-серверу сервера баз данных Team Foundation, нужно в поле «Built-in Service» выбрать Local Service. Не нужно нажимать Apply, а нужно вернуть значение Network Service в поле «Built-in Service». Когда выбран Network Service и кнопка Apply доступна,нужно Apply.
  5. Подключиться по адресу http://localhost/reports и выбрать TfsReportDS. В поле «Connection string» необходимо обновить параметр Data source с новым сервером баз данных Team Foundation. Для этого в поле «Connect using» нужно выбрать Credentials stored securely in the report, обновить имя и пароль пользователя, который использовался для сервисов отчетов, и нажать Apply.
  6. Под «SQL Server Reporting Services» нужно нажать Home, выбрать TfsOlapReportsDS и выполнить такие же действия, как и в предыдущем шаге.
  7. Далее в командной строке необходимо перейти в директорий «диск:\%ProgramFiles%\ Microsoft Visual Studio 2005 Team Foundation Server\Tools» и выполнить следующую команду: SetupWarehouse.exe -o -s newDataTierServerName -d newTeamFoundationDataWarehouseName -c warehouseschema.xml -ra TFSReportServiceAccount -a TFSServiceAccount, где newDataTierServerName – наименование сервера баз данных Team Foundation, newTeamFoundationDataWarehouseName – наименование базы данных warehouse, TFSReportServiceAccount – пользователь, который используется для служб отчетов, TFSServiceAccount пользователь, который используется для служб Team Foundation Server.
  8. Далее на сервере баз данных Team Foundation нужно запустить SQL Server Management Studio. В диалоговом окне «Connect to Server» в «Server type» нужно выбрать Database Engine и нажмите Connect. В «Object Explorer» необходимо открыть Databases-TFSWarehouse и правой кнопкой мыши выбрать dbo._WarehouseConfig, нажамть Properties. На вкладке «Table Properties — _WarehouseConfig» выбрать Permissions.  На «Users or Roles» нажать Add. На «Select Users or Roles» добавить пользователя, который используется для служб отчетов (например, TFSReports) и нажать OK.
  9. В SQL Server Management Studio в «Object Explorer» нажать Connect и выбрать Analysis Services. В «Object Explorer» выбрать Databases и правой кнопкой мыши выбрать TFSWarehouse и нажать Process. На «Process Database – TFSWarehouse» нужно нажать OK.
  10. Для проверки корректности работы отчетов необходимо на сервере приложений Team Foundation подключиться к  http://localhost/reports, в разделе Contents выбрать проект и в нем отчет.

Запуск служб

Для запуска служб на сервере приложений нужно выполнить:

  1. Запустить Web-сервис TFS App Pool на странице управления IIS.
  2. Запустить службу Windows через панель администрирования TFSServerScheduler.
  3. Далее в браузере на сервере баз данных необходимо перейти по адресу http://localhost:8080/WorkItemTracking/v1.0/ClientService.asmx и выбрать «ClientService»-«StampWorkitemCache»-«StampWorkitemCache»-«Invoke».

На сайте Microsoft доступны подробные инструкции для различных конфигураций переноса http://msdn.microsoft.com/en-us/library/ms404879(VS.80).aspx

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: