Как бороться с последствиями отказа от перехода на зимнее время в TFS

В своём посте Президент Медведев принял посильное участие в тестировании Team Foundation Server 2010 я описал, с какими проблемами мы столкнулись в связи с отказом от перехода на зимнее время в России.

К сожалению, Microsoft пока ещё не выпустил общедоступное исправление, а я продолжаю получать много вопросов о том, как решить данную проблему. Для остронуждающихся – решил поделиться знаниями.

ВНИМАНИЕ! Делайте нижеперечисленные шаги только в том случае, если Вы действительно не можете ждать выпуска исправления или ответа из службы технической поддержки. Обязательно сделайте backup всех баз данных, перед тем, как что-то модифицировать!

Помните, что Вы это делаете на свой страх и риск и Microsoft может Вам отаказать в дальнейшей поддержке.

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

select d.JobId, d.JobName, d.ExtensionName, s.TimeZoneId, s.ScheduledTimeDelta

from [<your_project_collection_db_name>]..tbl_JobDefinition d

join [<your_project_collection_db_name>]..tbl_JobSchedule s

on s.JobId = d.JobId

where s.TimezoneID = 'Russian Standard Time'

Если в результате этого запроса Вам вернули не 0 результатов, то решаем проблему дальше. Нужно поменять временную зону на, например, UTC, и тогда “застрявшие” задания продолжат свою работу. Для начала нужно остановить TFS Job Agent Service. Теперь, нужно выполнить скрипты:

 
-- backup data to a new table.

select *

into [<your_project_collection_db_name>]..tbl_JobSchedule_prior_to_fix

from [<your_project_collection_db_name>]..tbl_JobSchedule


-- Replace RST with UTC

update [<your_project_collection_db_name>]..tbl_JobSchedule

set TimeZoneId = 'UTC',

ScheduledTimeDelta = 0

where TimezoneID = 'Russian Standard Time'


-- backup data to a new table.

select *

into Tfs_Configuration..tbl_JobSchedule_prior_to_fix

from Tfs_Configuration..tbl_JobSchedule


-- Replace RST with UTC

update Tfs_Configuration..tbl_JobSchedule

set TimeZoneId = 'UTC',

ScheduledTimeDelta = 0

where TimezoneID = 'Russian Standard Time'

Старутуем TFS Job Agent Service и убедаемся, что всё работает.

4 Responses to Как бороться с последствиями отказа от перехода на зимнее время в TFS

  1. Михаил:

    Спасибо за описание решения! Помогло быстро решить проблему, теперь алерты и Areas & Iterations работают как надо.

  2. Nik:

    А не подскажете где хотфикс взять?

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

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

Логотип WordPress.com

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

Фотография Twitter

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

Фотография Facebook

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

Google+ photo

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

Connecting to %s

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