修正:"轉為 int 資料型別中的識別的算術溢位錯誤 」 錯誤訊息在 Team Foundation Server 2010年的專案建置時

文章翻譯 文章翻譯
文章編號: 2704778 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

當您建置專案在 Microsoft Visual Studio Team Foundation Server (TFS) 2010 中,組建程序會失敗,但您會收到下列錯誤訊息:
識別轉換資料型別 int 的例外狀況訊息: 算術溢位錯誤
發生算術溢位。(型別 SqlException)
此外,也會產生類似下列的未處理例外狀況訊息:
在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.MapException (例如,QueryExecutionState queryState SqlException)

在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.HandleException (例如 SqlException)

在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.Execute ExecuteType executeType (CommandBehavior 行為)

在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.ExecuteReader()

在 Microsoft.TeamFoundation.Build.Server.BuildComponent.UpdateBuildInformation 字串 buildUri、 IEnumerable'1 變更 (字串 requestedBy)

在 Microsoft.TeamFoundation.Build.Server.TeamFoundationBuildService.UpdateBuildInformation TeamFoundationRequestContext requestContext、 IList'1 變更 (IdentityDescriptor requestedFor)

在 Microsoft.TeamFoundation.Build.Server.BuildWebService.UpdateBuildInformation (InformationChangeRequest [] 變更)
附註TFS 組建伺服器資料庫中儲存大量的建置記錄時,通常會發生這個問題。

發生的原因

由於 MSBuild 記錄器新增節點到tbl_BuildInformation表格,每個建置程序期間,就會發生這個問題。因此,節點識別碼資料行達到其最大整數值。

例如,如果您在診斷] 或 [詳細模式下執行您的組建,就會有許多郵件寫入資料庫。這種行為會導致要增加的值。此外,如果您正在撰寫出訊息的活動,這些值可以加總經過一段時間。

當您針對集合資料庫,執行下列 SQL 陳述式時,傳回的值是接近 2.147 billon 的最大值:
選取 [IDENT_CURRENT('tbl_buildInformation')

解決方案

若要解決這個問題,請套用下列 hotfix。

這是預防的 hotfix。如果它已經執行過此 hotfix 無法解決這個問題。我們建議您連絡 Microsoft 客戶支援服務,如果您遇到這個問題。

套用此 hotfix 之後, LogProjectNodesLogWarnings屬性加入到 TFS 2010 年的 MSBuild 活動。

附註若要設定新的屬性在 MSBuild 活動,在 TFS 組建伺服器和用來編輯組建工作流程的 Microsoft Visual Studio 的用戶端上,您必須套用此 hotfix。

Hotfix 資訊

現在可以取得可用的 Microsoft 支援 hotfix 了。然而,其旨在修正本文所述的問題。它只適用於發生此特定問題的系統。此 hotfix 可能會接受其他測試。因此,如果您不會嚴重受到這個問題,我們建議您等候下一版包含此 hotfix 的軟體更新。

若要立即解決這個問題,請連絡 Microsoft 客戶支援服務 」 取得 hotfix。如需 Microsoft 客戶支援服務電話號碼,以及支援費用的相關資訊的完整清單,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
附註在特殊情況下,如果 Microsoft 支援專業人員認為某特定更新程式可以解決您的問題,可能就收取通常因支援電話所產生的費用。收取支援費用會套用到其他支援問題的特定更新程式檔案無法解決的問題。

必要條件

若要套用此 hotfix 之後,您必須使用 Microsoft Visual Studio Team Foundation 2010 Service Pack 1 (SP1 安裝)。

重新啟動需求

您必須重新啟動電腦,如果受影響的檔案使用的是在安裝期間套用此 hotfix 之後。我們建議您在安裝此 hotfix 之前關閉 Visual Studio 中的所有執行個體。

Hotfix 取代資訊

此 hotfix 不會取代先前發行的 hotfix。

檔案資訊

此 hotfix 的全域版本具有檔案屬性 (或較新的檔案屬性) 下表中所列。其日期和時間,這些檔案會列在國際標準時間 (UTC)。當您檢視檔案資訊時,它會將其轉換為本地時間。若要尋找要查看 UTC 與本地時間之間的差異,請使用 時區 在索引標籤 日期和時間 在 [控制台] 中的項目。
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
Microsoft.teamfoundation.build.server.logger.dll10.0.40219.41349,2808-8 月 12 日14: 55x86
Microsoft.teamfoundation.build.workflow.dll10.0.40219.413660,6168-8 月 12 日14: 55x86
Tfsbuildservicehost.exe10.0.40219.413192,6088-8 月 12 日14: 55x86

狀況說明

Microsoft 已經確認這是 「 適用於 」 一節中所列的 Microsoft 產品中的問題。

其他相關資訊

若要避免這個問題,請使用下列方法之一:
  • 使用文字編輯器開啟您的建置流程範本、 LogProjectNodesLogWarnings屬性加入 MSBuild 活動,,然後設定屬性的值設為 false
  • 利用 Visual Studio 中的工作流程設計工具中開啟您的建置流程範本,MSBuild 活動中,瀏覽],然後變更兩個屬性的值設為 false
備忘稿
  • 預設建置流程範本中有兩個 MSBuild 活動。
  • 兩個屬性的預設值為true
我們建議您減少組建的詳細等級,如果您使用 「 詳細 」 或 「 診斷層級。只有在必要時,請使用這些選項。

在 TFS2012,這些訊息不能再寫入至資料庫。相反地,它們會寫入一個檔案,可以幫助這個問題。

如需有關如何維護 TFS 組建資料表,請至下列 Microsoft 網站:
有關組建的詳細資訊的刪除選項

終結命令的一般資訊


屬性

文章編號: 2704778 - 上次校閱: 2012年12月11日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Visual Studio Team Foundation Server 2010 Service Pack 1
  • Microsoft Visual Studio Team Foundation Server 2010
  • Microsoft Visual Studio 2010 Service Pack 1
  • Microsoft Visual Studio 2010 Ultimate
  • Microsoft Visual Studio 2010 Professional
  • Microsoft Visual Studio 2010 Premium with MSDN
  • Microsoft Visual Studio Test Professional 2010
關鍵字:?
kbqfe kbhotfixserver kbfix kbsurveynew kbexpertiseadvanced kbmt KB2704778 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:2704778
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com