2016-11-17 9 views
1

Обновление коллекции TFS 2013 Update 4 для обновления TFS 2015 3. Использование резервной копии данных производственного сбора в DEV-местоположении. Была ли резервная копия с отсоединенной производственной коллекцией. Не было никаких ошибок. Резервное копирование составляет 254 ГБ.Обновление TFS 2013 до версии TFS 2015 Update 3 Ошибка сбора

Это ошибка в настоящее время останавливает меня от прикрепляться коллекции:

Msg 3732, Level 16, State 1, Line 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 
+0

@jessehouwing спасибо, что решил. Хотелось бы отметить ваш комментарий как ответ. – LordRazon

ответ

0

Ни один из стандартных запросов от Microsoft не имеют _MS как суффикс. Я подозреваю, что кто-то вручную изменил оригинал prc_QueryPendingChanges и оставил его в качестве резервной копии. В этом случае вы должны упустить эту процедуру и повторить обновление.

 Смежные вопросы

  • Нет связанных вопросов^_^