none
TFS无法创建团队项目了,急,请各位大侠帮忙,谢谢! RRS feed

  • 问题

  • 错误
    TF30170: 插件 Microsoft.ProjectCreationWizard.WorkItemTracking 在来自组 WorkItemTracking 的任务 WITs 的执行期间出现失败。 

    解释
    插件错误文本:“System.Web.Services.Protocols.SoapException: SyncBisTree: ChangerId is NULL EXECUTE 后的事务计数指示缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。上一计数 = 1,当前计数 = 0。 COMMIT TRANSACTION 请求没有对应的 BEGIN TRANSACTION。 ---> Microsoft.TeamFoundation.WorkItemTracking.Server.ValidationException: SyncBisTree: ChangerId is NULL EXECUTE 后的事务计数指示缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。上一计数 = 1,当前计数 = 0。 COMMIT TRANSACTION 请求没有对应的 BEGIN TRANSACTION。 ---> System.Data.SqlClient.SqlException: SyncBisTree: ChangerId is NULL EXECUTE 后的事务计数指示缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。上一计数 = 1,当前计数 = 0。 COMMIT TRANSACTION 请求没有对应的 BEGIN TRANSACTION。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlDataReader.ConsumeMetaData() 在 System.Data.SqlClient.SqlDataReader.get_MetaData() 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) 在 System.Data.SqlClient.SqlCommand.ExecuteReader() 在 Microsoft.TeamFoundation.WorkItemTracking.Server.SqlAccess.ExecuteBatchPayloadImpl(IRequestContext context, String sqlBatch, List`1 parameterList, Boolean& errorOnBulkUpdate, String connectionString) --- 内部异常堆栈跟踪的结尾 --- 在 Microsoft.TeamFoundation.WorkItemTracking.Server.SqlAccess.HandleDalError(Exception e) 在 Microsoft.TeamFoundation.WorkItemTracking.Server.SqlAccess.ExecuteBatchPayloadImpl(IRequestContext context, String sqlBatch, List`1 parameterList, Boolean& errorOnBulkUpdate, String connectionString) 在 Microsoft.TeamFoundation.WorkItemTracking.Server.SqlBatchBuilder.ExecuteBatchInternal(IRequestContext context, Boolean passInConnectionInfo, String server, String database) 在 Microsoft.TeamFoundation.WorkItemTracking.Server.CssSync.ExecuteBatch() 在 Microsoft.TeamFoundation.WorkItemTracking.Server.CssSync.JoinBatch(String nodeName, String nodeId, String parentNodeId, String projectId, Int32 structureType, Boolean isStructureNode) 在 Microsoft.TeamFoundation.WorkItemTracking.Server.CssSync.AddChildNodes(XmlNode node, String parentNodeId, String projectId, Int32 structureType, Boolean isStructureNode) 在 Microsoft.TeamFoundation.WorkItemTracking.Server.CssSync.AddStructureNodes(String projectId, Int32 structureType, String projectXml, String structureName) 在 Microsoft.TeamFoundation.WorkItemTracking.Server.CssSync.SyncTree(String projectURI) 在 Microsoft.TeamFoundation.WorkItemTracking.Server.DataAccessLayerImpl.SyncTree(String serverName, String databaseName, String userSid, String projectURI) 在 Microsoft.TeamFoundation.WorkItemTracking.Server.ClientService.SyncExternalStructures(String projectURI) --- 内部异常堆栈跟踪的结尾 --- 在 Microsoft.TeamFoundation.WorkItemTracking.Server.ExceptionManager.ThrowProperSoapException(Exception e) 在 Microsoft.TeamFoundation.WorkItemTracking.Server.Global.WebMethodExceptionHandler(Exception e) 在 Microsoft.TeamFoundation.Server.TeamFoundationWebServiceBase.HandleException(LogRecord requestRecord, Exception e) 在 Microsoft.TeamFoundation.WorkItemTracking.Server.ClientService.SyncExternalStructures(String projectURI)” 

    用户操作
    请与 Team Foundation Server 管理员联系。 

    2009年7月15日 9:11

答案

  • 行,我的MSN是billking08 [AT] hotmail.com. 目前国内用TFS的不是很多,有空的话请加我,我们一起交流一下。


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 SummerR 2009年8月28日 9:24
    2009年8月28日 7:48
  • 对了,你能告诉我一下,你的TFS是singal server deployment还是dual server deployment?还有,你改的时间是TFS AT的系统时间还是DT的?
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 SummerR 2009年8月31日 9:42
    2009年8月31日 2:54
  • 昨天我收到Brain Harry (the father of TFS, 呵呵)的回复了:

    It is not, we explicitly prohibit setting the time backwards after saving data.  If they really have to fix this, they will need to have a support call.  Tell them not to set the time into the future. 

    Brian

    把系统设置成过去的时间是不支持的。现在你有两种解决方法:

    1. 把系统时间设为12月,并回滚数据库到你修改时间成11月之前的状态。
    2. 如果你决定把时间改成11月,并要修复数据库的话,你需要到http://support.microsoft.com 上去开一个case. 让MS里相关的人去帮你修复。


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 SummerR 2009年9月3日 8:41
    2009年9月1日 1:45
  • 我的不能创建团队项目问题突然解决了,过程如下,我这两天把另一个VSS项目代码迁移到TFS上,迁移完成后就发现,这个功能又可以用了。如果有人遇到了类似的问题,并且非常着急,不妨采用这种办法试一试。

    再次感谢Bill.WangMSFT的帮助。
    • 已标记为答案 SummerR 2009年9月3日 8:41
    2009年9月3日 8:40

全部回复

  • 那位大侠帮帮忙啊?谢谢!

    2009年8月18日 6:32
  • 楼主你好,这个问题解决了吗?


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年8月27日 11:07
  • Bill.WangMSFT你好,还没有解决?目前一点方向都没有,请问能提供一些帮助吗?谢谢!
    2009年8月28日 4:55
  • 楼主用的TFS是什么版本?是否手动改过TFS的数据库?手动改数据库里的数据是很危险的,因为那很可能会破坏数据的完整性。

    从错误消息来看,很有可能是TFS数据库的存储过程损坏了,我觉得你可以尝试修复一下TFS,然后再装一次最新的service pack (TFS 2005 SP1或TFS 2008 SP1)。 这样通常能修复损坏的存储过程。


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 SummerR 2009年8月28日 7:51
    • 取消答案标记 SummerR 2009年8月28日 8:37
    2009年8月28日 5:30
  • 非常感谢,我们使用的是VisualStudio2005TeamFoundationServer,以前有人把我们的TFS服务器时间11月改为了12月,然后我改回来,这样就出了很多问题,我修正了数据仓库里的表_WarehouseConfig里的时间,还修改了TfsVersionControl中的“tbl_Changeset”表,这样数据仓库又可以更新了,同时也不再拒绝签入代码。
    后来又发现不能建立新的团队项目了,同时部分用户无法使用工作项功能,在团队资源管理器中“工作项”图标上有一个红X,我现在比较急得是新建团队项目问题,我曾经把代码迁移到另一台服务器上,打上SP1,好像也没有解决问题,我今天再在我们的工作服务器上打一下sp1看看(这台没打过),观察后再恢复你。再次感谢!
    • 已标记为答案 SummerR 2009年8月28日 7:50
    • 取消答案标记 SummerR 2009年8月28日 8:37
    2009年8月28日 7:42
  • 行,我的MSN是billking08 [AT] hotmail.com. 目前国内用TFS的不是很多,有空的话请加我,我们一起交流一下。


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 SummerR 2009年8月28日 9:24
    2009年8月28日 7:48
  • 我打了SP1以后还是不行,一切还是原来的样子。

    我们TFS出问题的过程如下:
    非常感谢,我们使用的是VisualStudio2005TeamFoundationServer,以前有人把我们的TFS服务器时间11月改为了12月,然后我改回来,这样就出了很多问题,我修正了数据仓库里的表_WarehouseConfig里的时间,还修改了TfsVersionControl中的“tbl_Changeset”表,这样数据仓库又可以更新了,同时也不再拒绝签入代码。
    后来又发现不能建立新的团队项目了,同时部分用户无法使用工作项功能,在团队资源管理器中“工作项”图标上有一个红X,我现在比较急得是新建团队项目问题,我曾经把代码迁移到另一台服务器上,打上SP1,好像也没有解决问题,我今天再在我们的工作服务器上打一下sp1看看(这台没打过),观察后再恢复你。再次感谢!

    你看是不是我们的数据库还需要修正什么地方?谢谢!
    2009年8月28日 8:39
  • 我已经加了。
    2009年8月28日 9:25
  • 这个问题有点棘手,TFS数据库里保存了大量的和时间相关的信息,比如你看到的tbl_changeset表里check in的时间,还有AD账号同步的时间,work item tree同步时间等。我不确定把系统时间改回一个月前会出现些什么结果,我帮你咨询一下做这一块开发的相关同事看看吧。

    另外,我也发现错误消息“SyncBisTree: ChangerId is NULL”在TFS的BUG数据库里有所记录,最早是在TFS 2005中发现,到后来的TFS2008, TFS2010中都有修复。但是没有hotfix。

    P.S. 因为对数据库做了一些手工改动,将来你可能要到http://support.microsoft.com上去开一个case(好像是要200美金,不过如果你们买TFS的话,好像会送几个免费的case的),然后case可能会被escalate到产品组那边去做。如果被证明这个问题是有bug引起的,据说是会退钱的,我对收费这一起不清楚:).


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    2009年8月31日 2:51
  • 对了,你能告诉我一下,你的TFS是singal server deployment还是dual server deployment?还有,你改的时间是TFS AT的系统时间还是DT的?
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 SummerR 2009年8月31日 9:42
    2009年8月31日 2:54
  • 昨天我收到Brain Harry (the father of TFS, 呵呵)的回复了:

    It is not, we explicitly prohibit setting the time backwards after saving data.  If they really have to fix this, they will need to have a support call.  Tell them not to set the time into the future. 

    Brian

    把系统设置成过去的时间是不支持的。现在你有两种解决方法:

    1. 把系统时间设为12月,并回滚数据库到你修改时间成11月之前的状态。
    2. 如果你决定把时间改成11月,并要修复数据库的话,你需要到http://support.microsoft.com 上去开一个case. 让MS里相关的人去帮你修复。


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 SummerR 2009年9月3日 8:41
    2009年9月1日 1:45
  • 我的不能创建团队项目问题突然解决了,过程如下,我这两天把另一个VSS项目代码迁移到TFS上,迁移完成后就发现,这个功能又可以用了。如果有人遇到了类似的问题,并且非常着急,不妨采用这种办法试一试。

    再次感谢Bill.WangMSFT的帮助。
    • 已标记为答案 SummerR 2009年9月3日 8:41
    2009年9月3日 8:40
  • 居然改时间 呵呵 这下麻烦可不是一般的
    2009年9月7日 7:32
    版主