2010-06-15 229 views
3

我們成功構建了TFS 2010基礎架構和第一個使用Visual Studio 2010的VM。現在我有一個非常簡單的問題。我如何將現有的TFS 2008解決方案轉移到新的2010? TFS中是否包含任何工具?從TFS 2008遷移到TFS 2010

回答

3

首先,我建議從原來的2008年TFS數據層服務器備份您的TFS數據庫:

BACKUP DATABASE TfsActivityLogging
TO DISK = 'C:\ TFS 2008 Upgrade.bak'
WITH INIT
BACKUP DATABASE TfsBuild
TO磁盤= 'C:\ TFS 2008 Upgrade.bak'
BACKUP DATABASE TfsIntegration
TO磁盤= 'C:\ 2008 TFS Upgrade.bak'
BACKUP DATABASE TfsVersionControl
TO磁盤= 'C:\ 2008 TFS Upgrade.bak'
BACKUP DATABASE TfsWorkItemTracking
TO磁盤= 'C:\ 2008 TFS Upgrade.bak'
BACKUP DATABASE TfsWorkItemTrackingAttachments
TO磁盤= 'C:\ TFS 2008 Upgrade.bak'

然後移動備份文件到新的服務器上,並恢復他們:

RESTORE DATABASE TfsActivityLogging
FROM磁盤= 'C:\ TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 1,
MOVE 'TfsActivityLogging' 到 '< DataFileLocation> \ TfsActivityLogging.mdf' ,
MOVE 'TfsActivityLogging_log' 到 '< LogFileLocation> \ TfsActivityLogging_log.ldf'
RESTORE DATABASE TfsBuild
FROM磁盤= 'C:\ TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 2,
MOVE 'TfsBuild' 到 '< DataFileLocation> \ TfsBuild.mdf',
MOVE 'TfsBuild_log' 到 '< LogFileLocation> \ TfsBuild_log.ldf'
RESTORE DATABASE TfsIntegration
FROM磁盤= 'C:\ TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 3,
MOVE 'TfsIntegration' 到 '< DataFileLocation> \ TfsIntegration.mdf',
MOVE'TfsIntegration_log'至'< LogFileLocation> \ TfsIntegration_log.ldf'
RESTORE DATABASE TfsVersionControl
FROM Disk ='C:\ TFS 2008 Upgrade。BAK '
WITH RECOVERY,
REPLACE,
FILE = 4,
MOVE 'TfsVersionControl' 到 '< DataFileLocation> \ Tfs_ < TeamProjectCollectionName>的.mdf',
MOVE 'TfsVersionControl_log' 到' < LogFileLocation> \ Tfs_ < TeamProjectCollectionName> _log.ldf」
RESTORE DATABASE TfsWorkItemTracking
FROM磁盤= 'C:\ TFS 2008 Upgrade.bak'
WITH RECOVERY,
REPLACE,
FILE = 5,
MOVE 'TfsWorkItemTracking' 到 '< DataFileLocation> \ TfsWorkItemTracking.mdf',
MOVE 'TfsWorkItemTracking_log' 到 '< LogFileLocation> \ TfsWorkItemTracking_log.ldf'
RESTORE DATABASE TfsWorkItemTrackingAttachments
FROM磁盤=「C :\ TFS 2008 Upgrade.bak」
WITH RECOVERY,
REPLACE,
FILE = 6,
MOVE 'TfsWorkItemTrackingAttachments' 到 '< DataFileLocation> \ TfsWorkItemTrackingAttachments.mdf',
MOVE 'TfsWorkItemTrackingAttachments_log' 到 '< LogFileLocation> \ TfsWorkItemTrackingAttachments_log.ldf'

然後,在新服務器上,運行導入命令:

「C:\ Program Files文件\ Microsoft小組基礎Server 2010 \工具\ tfsconfig.exe」進口/sqlinstance:server078.live01.lan.local /集合名:< TeamProjectCollectionName> /確認

ÿ你應該準備好去。 :)

+0

我需要在當時移動1個團隊項目,因爲在我們移動它之後,我們需要額外的東西。我只是在2010年將新的系列產品移植到整個TFS 2008中。是否有一種侵入性較小的解決方案?TFS 2008現在是我們的產品 – Raffaeu 2010-06-15 13:57:54

+0

侵入性較差,不需要一次性移動所有內容,但這並不意味着您一次不能移動一個團隊項目: 當要遷移團隊項目時,重複abov e進程引用了不同的目標Team Project Collection名稱,並且一旦通過管理控制檯導入,就刪除當時未升級的每個團隊項目。但是,如果您這樣做: 1)您不能從一個Team Project Collection分支到另一個。 2)權限變得難以管理。 3)您需要爲每個團隊項目集合使用不同的構建服務器。 – 2010-06-17 08:35:19

+1

我真的會建議您採用可重複的升級過程,並在2008年到2010年之間切換過夜。 – 2010-06-17 08:36:03

0

如果您只想一次移動一個項目,則可以使用Antony Gibb's procedure,然後刪除您不想移動的TFS 2010中的項目。然後在TFS 2008服務器上刪除您想要移動的項目。例如:

你有項目A,B和C在2008年TFS,你只想移動項目A.

  1. 從TFS 2010執行上述步驟
  2. 刪除項目B和C導入後
  3. 從TFS2008實例中刪除項目A.
+0

這個答案中的「above」是什麼?安東尼的回答?因爲目前你的答案直接在問題的下方,至少在我的屏幕上:) – OregonGhost 2010-06-15 15:40:27

+0

是的,布萊恩指的是安東尼的答案。 – 2010-06-15 19:59:24

+0

如果您按照Bryan的建議,那麼您執行的每個導入都需要是一個單獨的Team Project Collection,不建議 – 2011-10-25 08:44:26

3

微軟流浪者製作了下面這樣的資源前段時間在此:

TFS Integration Platform

這包括一些工具,以幫助不同的遷移策略,以白皮書討論他們一起,和一些不錯的海報來幫助指導你的思考。


編輯補充:

我也只是寫詳細介紹我的經驗試圖做的只是這一系列博客文章已經:

Killing Off TFS 2005 - Part 1

但是,如果你有一個非常簡單的團隊項目,那麼你就會陷入一個痛苦的世界 - 成爲f請隨機附帶的文檔向您發出警告。

0

另外考慮一下,你可能會從舊系統中得到一些你不想繼承的東西,但也許確實希望能夠看到後代。在完成TFS集成工具之後,您可以將舊的2008年tfs實例升級到2010年(這會將舊版團隊集合升級到2010版,然後您可以將其作爲另一個集合(只讀)添加到新版2010然後你有你所有的歷史和項目,但他們不會干涉你的新的原始安裝