【问题标题】:TFS 2013 Update 4 to TFS 2015 Update 3 Collection ErrorTFS 2013 更新 4 到 TFS 2015 更新 3 收集错误
【发布时间】:2016-11-18 22:24:59
【问题描述】:

将我的 TFS 2013 Update 4 集合更新到 TFS 2015 Update 3。使用 DEV 位置中的生产集合数据的备份。是否在分离生产集合的情况下进行了备份。没有任何错误。备份为 254GB。

这是当前阻止我附加集合的错误:

消息 3732,第 16 级,状态 1,第 93 行 无法删除类型“typ_ItemSpec2”,因为它被对象“prc_QueryPendingChanges_MS”引用。可能有其他对象引用此类型。

SET XACT_ABORT  ON
SET NOCOUNT     ON

DECLARE @status             INT
DECLARE @procedureName      SYSNAME = N'upd_VersionControlToDev14M80_PostSchema'
DECLARE @tfError            NVARCHAR(255)

IF EXISTS (
    SELECT  *
    FROM    sys.triggers
    WHERE   name = 'trg_tbl_VCFirstRunProject'
)
BEGIN
    DROP TRIGGER trg_tbl_VCFirstRunProject
END

IF EXISTS (
    SELECT  *
    FROM    sys.indexes
    WHERE   name = 'IX_tbl_VCFirstRunProject_OldServerItemPrefix'
            AND object_id = OBJECT_ID('dbo.tbl_VCFirstRunProject')
)
BEGIN
    -- Delete upgrade-only rows for $\, a few partitions at a time
    -- We need dynamic SQL for this to be rerunnable.
    EXEC @status = sp_executesql N'
        DECLARE @batchStart         INT = 1
        DECLARE @batchEnd           INT
        DECLARE @end                INT
        DECLARE @batchSize          INT = 50

        -- Get the partition range
        SELECT  TOP (1)
                @end = PartitionId
        FROM    tbl_VCFirstRunProject
        ORDER BY PartitionId DESC

        WHILE (@batchStart <= @end)
        BEGIN
            SET @batchEnd = @batchStart + @batchSize

            DELETE  tbl_VCFirstRunProject
            WHERE   PartitionId BETWEEN @batchStart AND @batchEnd
                    AND OldServerItemPrefix = N''''
            OPTION (OPTIMIZE FOR (@batchStart=1, @batchEnd=50))

            SET @batchStart = @batchEnd + 1
        END
    '

    IF (@status <> 0)
    BEGIN
        SET @tfError = dbo.func_GetMessage(500004); RAISERROR(@tfError, 16, -1, @procedureName, @status, N'sp_executesql', N'DELETE tbl_VCFirstRunProject')
        RETURN
    END

    DROP INDEX IX_tbl_VCFirstRunProject_OldServerItemPrefix ON tbl_VCFirstRunProject
END

IF EXISTS (
    SELECT  *
    FROM    sys.columns
    WHERE   object_id = Object_ID(N'dbo.tbl_VCFirstRunProject', N'U')
            AND name = N'OldServerItemPrefix'
)
BEGIN
    ALTER TABLE tbl_VCFirstRunProject
    DROP COLUMN OldServerItemPrefix, NewServerItemPrefix
END

IF TYPE_ID('dbo.typ_BranchObject2') IS NOT NULL
BEGIN
    DROP TYPE typ_BranchObject2
END

IF TYPE_ID('dbo.typ_BuildMappingInput2') IS NOT NULL
BEGIN
    DROP TYPE typ_BuildMappingInput2
END

IF TYPE_ID('dbo.typ_CreateLabelInput') IS NOT NULL
BEGIN
    DROP TYPE typ_CreateLabelInput
END

IF TYPE_ID('dbo.typ_ExpandedChange2') IS NOT NULL
BEGIN
    DROP TYPE typ_ExpandedChange2
END

IF TYPE_ID('dbo.typ_ItemSpec2') IS NOT NULL
BEGIN
    DROP TYPE typ_ItemSpec2
END

IF TYPE_ID('dbo.typ_LocalPendingChange3') IS NOT NULL
BEGIN
    DROP TYPE typ_LocalPendingChange3
END

IF TYPE_ID('dbo.typ_LocalVersion3') IS NOT NULL
BEGIN
    DROP TYPE typ_LocalVersion3
END

IF TYPE_ID('dbo.typ_LockConflictCandidate2') IS NOT NULL
BEGIN
    DROP TYPE typ_LockConflictCandidate2
END

IF TYPE_ID('dbo.typ_LockObject') IS NOT NULL
BEGIN
    DROP TYPE typ_LockObject
END

IF TYPE_ID('dbo.typ_Mapping2') IS NOT NULL
BEGIN
    DROP TYPE typ_Mapping2
END

IF TYPE_ID('dbo.typ_PendingAdd2') IS NOT NULL
BEGIN
    DROP TYPE typ_PendingAdd2
END

IF TYPE_ID('dbo.typ_PendingChangeObject') IS NOT NULL
BEGIN
    DROP TYPE typ_PendingChangeObject
END

IF TYPE_ID('dbo.typ_PendingChangeSecurity') IS NOT NULL
BEGIN
    DROP TYPE typ_PendingChangeSecurity
END

IF TYPE_ID('dbo.typ_PendingMerge2') IS NOT NULL
BEGIN
    DROP TYPE typ_PendingMerge2
END

IF TYPE_ID('dbo.typ_PendingPropertyChange2') IS NOT NULL
BEGIN
    DROP TYPE typ_PendingPropertyChange2
END

IF TYPE_ID('dbo.typ_VersionedItemId') IS NOT NULL
BEGIN
    DROP TYPE typ_VersionedItemId
END

【问题讨论】:

  • @jessehouwing 谢谢解决它。想将您的评论标记为答案。

标签: upgrade tfs-2015


【解决方案1】:

Microsoft 的所有标准查询都没有_MS 作为后缀。我怀疑有人手动调整了原始 prc_QueryPendingChanges 并将其作为备份保留。在这种情况下,您应该能够放弃此过程并重试升级。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-27
    • 2021-12-30
    • 1970-01-01
    • 2018-08-27
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    相关资源
    最近更新 更多