2014-01-07 84 views
2

我瞭解從2008年TFS升級過程中的一切2012年從2008年TFS數據遷移到一個已經工作TFS 2012

,但我的情況有點不同勢。我需要將數據從tfs 2008(sqlserver 2003)移動到tfs 2012(sqlserver 2008 R2),而不會損壞TFS 2012數據。

最佳實踐是什麼?

添加一些問題:

我試圖儘可能謹慎,沒有損壞任何數據。 所以我有: 1.舊服務器TFS 2008與正在使用的sqlserver 2005 2演示服務器與TFS 2012和sqlserver 2008 R2與它的一些集合和項目(這是我們有一個服務器的副本,並且正在也用於)。

主要目的是將所有數據傳輸到2012服務器並殺死舊機器。 我所做的就是從sqlserver 2005中進行備份並將所有tfs * db恢復到演示服務器。 TfsActivityLogging TfsBuild TfsIntegration TfsVersionControl TfsWarehouse TfsWorkItemTracking TfsWorkItemTrackingAttachments

後來我演示服務器上運行 「tfsconfig進口」。

TfsConfig導入/ SQLINSTANCE:SQLSERVERNAME /集合名:DemoImportCollection /確認

其失敗:

Creating temporary structures... (169 of 502) 
[Info @15:45:36.159] [2014-01-14 15:45:33Z][Error] TF400744: An error occurred while executing the following script: UpgradeTestResults_OrcasToDev10Beta1.sql. Failed batch starts on the line 613. Statement line: 23. Script line: 635. Error: 2627 Violation of PRIMARY KEY constraint 'PK__tmp_tbl___1786A43E234A136B'. Cannot insert duplicate key in object 'dbo.tmp_tbl_OrcasTestOutcomeLookUp'. The duplicate key value is (?«ƒ??????????????¢???????????ƒ). (169 of 502) 
[Info @15:45:36.159] [2014-01-14 15:45:34Z][Informational] Microsoft.TeamFoundation.Framework.Server.CollectionServicingException: TF400744: An error occurred while executing the following script: UpgradeTestResults_OrcasToDev10Beta1.sql. Failed batch starts on the line 613. Statement line: 23. Script line: 635. Error: 2627 Violation of PRIMARY KEY constraint 'PK__tmp_tbl___1786A43E234A136B'. Cannot insert duplicate key in object 'dbo.tmp_tbl_OrcasTestOutcomeLookUp'. The duplicate key value is (?«ƒ??????????????¢???????????ƒ). 
    at Microsoft.TeamFoundation.Framework.Server.SqlScriptResourceComponent.ExecuteScripts(List`1 scripts, SqlParameter[] sqlParameters, List`1 serviceVersions, Boolean acquireLock) 
    at Microsoft.TeamFoundation.Server.Servicing.TFCollection.FrameworkStepPerformer.ExecuteSql(String stepData, ServicingContext servicingContext) 
    at Microsoft.TeamFoundation.Framework.Server.TeamFoundationStepPerformerBase.Microsoft.TeamFoundation.Framework.Server.IStepPerformer.PerformStep(String servicingOperation, String stepType, String stepData, ServicingContext servicingContext) 
    at Microsoft.TeamFoundation.Framework.Server.ServicingStepDriver.PerformServicingStep(ServicingStep step, ServicingContext servicingContext, ServicingStepGroup group, ServicingOperation servicingOperation) (169 of 502) 
[[email protected]:45:36.596] TF255185: Encountered a warning during operation. Message=[2014-01-14 15:45:34Z] Servicing step Upgrade Test Results failed. (ServicingOperation: UpgradePreTfs2010Databases; Step group: Upgrade.TfsTestManagement). 
[Info @15:45:36.627] [2014-01-14 15:45:34Z] Servicing step Upgrade Test Results failed. (ServicingOperation: UpgradePreTfs2010Databases; Step group: Upgrade.TfsTestManagement) (169 of 502) 
[Info @15:45:36.627] [2014-01-14 15:45:34Z][Informational] Removing item. Key: TargetRequestContext. (169 of 502) 
[Info @15:45:36.627] [2014-01-14 15:45:34Z][Informational] Clearing dictionary, removing all items. (169 of 502) 
[[email protected]:45:36.659] TF255185: Encountered a warning during operation. Message=TF255271: The team project collection could not be created. The number of steps before the completion of project creation is: 502. The number of steps completed before the failure was 169.. 
[[email protected]:45:37.690] Warning Message: [2014-01-14 15:45:34Z] Servicing step Upgrade Test Results failed. (ServicingOperation: UpgradePreTfs2010Databases; Step group: Upgrade.TfsTestManagement) 
[[email protected]:45:37.690] 
[[email protected]:45:37.737] Warning Message: TF255271: The team project collection could not be created. The number of steps before the completion of project creation is: 502. The number of steps completed before the failure was 169. 
[[email protected]:45:37.737] 

我有一個懷疑,這個問題的發生是由於在數據庫希伯來文字符,翻譯上的臨時進口表作爲問號(「?????」)

欣賞任何幫助或解決此問題的方向。

問候

埃雷茲

回答

0

亂投醫(不接觸真實數據)我成功之後。

我決定將升級過程分爲2008-2010和2010-2012兩個階段。

  1. 我複製了2008年TFS分貝的到neNew SQLSERVER這是 由TFS 2012
  2. 使用我添加了另一個虛擬機與TFS 2010
  3. 我從TFS 2010升級嚮導運行的識別2008複製數據庫的
  4. 結果是附着於2010 TFS一個新的集合
  5. 我分開收集在TFS 2012
  6. 我跑附加集合(TFS的2010一),這提升了收藏品ñ。

該過程非常有效。

感謝所有幫助

Erez.h

+0

所以你現在有2個不同的ProjectCollections的權利? –

+0

偉大的問題...我檢查了我的數據庫,我剩下的程序之前使用的tfs 2012集合,並沒有停機時間(這是我在實驗中的主要問題,將2008分貝的工作tfs s2012服務器)。舊的tfs 2008 db被轉換爲2010集合,然後通過2012 attach按鈕轉換爲tfs 2012集合,所以這是第二個集合。 –

2

您可以使用TFS集成平臺爲。它將遷移所有文件和歷史記錄。如果您有TFS工作項目可以遷移的,以及(如果您使用相同的項目模板2012服務器上一樣)

兩個小點,你需要知道:

1)遷移後,歷史將具有遷移時的日期時間,但您可以在註釋中看到實際的日期時間。

2)它還會爲您的評論添加額外的文字,說您使用集成平臺進行遷移。

http://tfsintegration.codeplex.com

+0

你知道,如果它與希伯來文(或其他非拉丁)字符的問題?我正在使用TFsconfig導入,它似乎將希伯來字符作爲問號(?????)遷移到臨時表中,該表作爲重複條目失敗。 –

+0

不確定,但可能與您用於tfs集成的數據庫設置有關? –