Поделиться через


Устранение ошибок миграции

Средство миграции данных помечает ошибки, которые необходимо исправить перед импортом в Azure DevOps Services. В этой статье описываются наиболее распространенные предупреждения и ошибки, которые могут возникнуть при подготовке к импорту. После исправления каждой ошибки, выполните команду migrator validate еще раз, чтобы проверить устранение проблемы.

Дополнительные сведения см. в разделе "Часто задаваемые вопросы" в конце этой статьи.

Устранение предупреждений о размере

Дополнительные коллекции могут создавать одно из следующих сообщений после запуска средства миграции данных. Если вы получаете любое из этих предупреждений или ошибок, рекомендуется уменьшить размер базы данных.

Следующее предупреждение означает, что для завершения миграции необходимо использовать метод виртуальной машины SQL Azure. Когда база данных достигает определенного размера, становится быстрее настроить виртуальную машину SQL Azure для завершения миграции в Azure DevOps Services. Чтобы настроить виртуальную машину и завершить миграцию, следуйте инструкциям, связанным с предупреждением.

The database is currently {Database Size}GBs. This is above the recommended size of {DACPAC Size Limit}GBs to use the DACPAC migration method. Please see the following page to learn how to migration using a SQL Azure VM: https://aka.ms/AzureDevOpsImportLargeCollection

Это предупреждение НЕ означает, что коллекция слишком большая для миграции.

Как и в предыдущем предупреждении, следующее предупреждение означает, что для завершения миграции необходимо использовать метод виртуальной машины SQL Azure. Чтобы настроить виртуальную машину и завершить миграцию, следуйте инструкциям, связанным с предупреждением.

The largest table size is currently {Table size}GBs. This is above the recommended size of {Size limit}GBs to use the DACPAC migration method. Please see the following page to learn how to migration using a SQL Azure VM: https://aka.ms/AzureDevOpsImportLargeCollection  

Это предупреждение НЕ означает, что ваша коллекция слишком велика для миграции.

Следующее предупреждение означает, что база данных приближается к ограничению общего размера метаданных. Размер метаданных относится к размеру базы данных без включения файлов, кода и других двоичных данных. Перед миграцией рекомендуется уменьшить размер базы данных. Уменьшение размера обеспечивает еще одно преимущество ускорения миграции.

The database metadata size is currently {Metadata Size}GBs. This is above the recommended size of {Warning Size}GBs. It's recommended that you consider cleaning up older data as described in [Cleaning up old data](/azure/devops/server/upgrade/clean-up-data).

Предупреждение НЕ означает, что коллекция слишком велика для миграции, а размер метаданных превышает большинство других баз данных.

Размер метаданных базы данных превышает максимальный поддерживаемый размер

В отличие от предыдущих предупреждений, следующая ошибка БУДЕТ препятствовать вашему дальнейшему переходу на новую платформу.

Это означает, что объем метаданных в коллекции слишком велик. Чтобы продолжить миграцию, необходимо уменьшить размер до указанного предела.

The database metadata size is currently {Metadata Size}GBs. This is above the maximum supported size of {Metadata Limit}GBs.

Устранение предупреждений о порядке сортировки

Предупреждения о сортировке связаны с настройками сортировки в базе данных вашей коллекции. Колляции управляют процессом сортировки и сравнения строковых значений. Коллекции, не использующие SQL_Latin1_General_CP1_CI_AS или Latin1_General_CI_AS, получают одно из предупреждений .

Нет собственной поддержки

Получение следующего предупреждения означает, что перед выполнением миграции необходимо учитывать последствия сортировки.

The collection database's collation '{collation}' is not natively supported in Azure DevOps Services. Importing your collection will result in your collation being converted to one of the supported Azure DevOps Services collations. See more details at https://aka.ms/AzureDevOpsImportCollations

Это предупреждение НЕ означает, что вы не можете перенести свою коллекцию.

Это предупреждение требует подтверждения принятия предупреждения. Принятие предупреждения позволяет средству миграции данных продолжить подготовку к миграции.

При переносе неподдерживаемой сортировки в Azure DevOps Services, сортировка преобразуется в поддерживаемую. Хотя это преобразование обычно работает без проблем, могут возникнуть непредвиденные результаты после миграции или сбоя миграции.

Например, клиенты могут заметить другое упорядочивание строк, содержащих символы, не являющиеся английскими. Символы, такие как «é», после миграции могут стать эквивалентны английскому «e». Важно выполнить и проверить тестовый запуск миграции в случае переноса коллекции с неподдерживаемой сортировкой.

Нет собственной поддержки, нет подключения к Интернету

Если средство миграции данных не может подключиться к Интернету, оно не может проверить преобразование параметров сортировки. Это только предупреждение, поэтому вы можете продолжить процесс миграции. Однако при запуске команды prepare требуется подключение к интернету, а преобразование параметров сортировки проверяется в этот момент.

The collections database's collation '{collation}' is not natively supported in Azure DevOps Services. It could not be validated that the collation can be converted during migration to a supported Azure DevOps Services collation, as there was no internet connection. Please run the command again from a machine with an internet connection. See more details at https://aka.ms/AzureDevOpsImportCollations

Неподдерживаемая сортировка базы данных

Как правило, вы можете преобразовать неподдерживаемую сортировку в поддерживаемую во время миграции. Однако некоторые параметры сортировки нельзя преобразовать. Если в коллекции используется один из этих параметров сортировки, вы получите следующее сообщение об ошибке .

The collection database's collation '{collation}' is not supported for migration to Azure DevOps Services. It will need to be changed to a supported collation before it can be imported. See more details at https://aka.ms/AzureDevOpsImportCollations

Чтобы продолжить, необходимо изменить сортировку вашей коллекции на одну из поддерживаемых сортировок в Azure DevOps Services.

Устранение ошибок идентификации

Исправьте ошибки идентификации перед миграцией, чтобы предотвратить проблемы. Эти ошибки возникают редко и возникают, когда старые операции недопустимы на новом сервере Azure DevOps Server. Например, некоторые пользователи больше не могут быть частью допустимой группы пользователей.

В следующих разделах приведены рекомендации по устранению наиболее распространенных ошибок идентификации.

ISVError: 100014

Эта ошибка означает, что разрешение отсутствует в системной группе безопасности. Например, каждая созданная коллекция содержит допустимые группы пользователей и администраторов коллекции проектов. Система создает их по умолчанию. Эти группы не поддерживают редактирование разрешений.

Эта ошибка означает, что у одной или нескольких групп отсутствует разрешение, которое должно иметься. Чтобы устранить эту ошибку, используйте команду TFSSecurity.exe, чтобы применить ожидаемые разрешения к помеченным системным группам. Сначала необходимо определить, какую команду TFSSecurity необходимо выполнить.

Сообщение об ошибке "Действительные пользователи коллекции проектов"

Проверьте одно или несколько сообщений об ошибках, выделенных средством миграции данных. Если помеченная группа заканчивается "0-0-0-0-3", как в следующем примере, необходимо исправить отсутствующее разрешение для группы допустимых пользователей коллекции проектов .

Выполните следующую команду, замените область на область из сообщения об ошибке и укажите URL-адрес коллекции.

TFSSecurity.exe /a+ Identity "{scope}\\" Read sid:{Group SID} ALLOW /collection:{collectionUrl}

Вы определяете из сообщения об ошибке область и идентификатор безопасности группы (SID).

ISVError:100014 Missing permission for group:Microsoft.TeamFoundation.Identity;S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-3 for scope:397c326b-b97c-4510-8271-75aac13de7a9. Expected:1 and Actual:0 

Последняя команда выглядит примерно так:

TFSSecurity.exe /a+ Identity "397c326b-b97c-4510-8271-75aac13de7a9\\" Read sid:S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-3 ALLOW /collection:https://localhost:8080/defaultcollection

Сообщение об ошибке для администраторов коллекции проектов

Внимательно изучите сообщения об ошибках, выделенные средством миграции данных. Если отмеченная группа заканчивается на «0-0-0-0-1», как в следующем примере, то необходимо исправить отсутствующее разрешение для группы администраторов коллекции проектов. Выполните следующие команды для TFSSecurity.exe, замените область на область из сообщения об ошибке и укажите свою коллекцию.

TFSSecurity.exe /a+ Identity "{scope}\\" Read sid:{Group SID} ALLOW /collection:{collectionUrl}

TFSSecurity.exe /a+ Identity "{scope}\\" Write sid:{Group SID} ALLOW /collection:{collectionUrl}

TFSSecurity.exe /a+ Identity "{scope}\\" Delete sid:{Group SID} ALLOW /collection:{collectionUrl}

TFSSecurity.exe /a+ Identity "{scope}\\" ManageMembership sid:{Group SID} ALLOW /collection:{collectionUrl}

В следующем примере возьмите область и группу SID из сообщения об ошибке и добавьте их в предыдущую команду.

ISVError:100014 Missing permission for group:Microsoft.TeamFoundation.Identity;S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1 for scope:0c7c2216-fa4b-4107-a203-82b324a147ef. Expected:15 and Actual:0 

Последняя команда выглядит примерно так:

TFSSecurity.exe /a+ Identity "0c7c2216-fa4b-4107-a203-82b324a147ef\\" Read sid:S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1 ALLOW /collection:https://localhost:8080/defaultcollection

TFSSecurity.exe /a+ Identity "0c7c2216-fa4b-4107-a203-82b324a147ef\\" Write sid:S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1 ALLOW /collection:https://localhost:8080/defaultcollection

TFSSecurity.exe /a+ Identity "0c7c2216-fa4b-4107-a203-82b324a147ef\\" Delete sid:S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1 ALLOW /collection:https://localhost:8080/defaultcollection

TFSSecurity.exe /a+ Identity "0c7c2216-fa4b-4107-a203-82b324a147ef\\" ManageMembership sid:S-1-9-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-XXXXXXXXXX-0-0-0-0-1 ALLOW /collection:https://localhost:8080/defaultcollection

При необходимости исправить несколько ошибок рекомендуется создать пакетный файл для автоматизации выполнения команд. После выполнения команд повторно запустите инструмент проверки разрешения миграции данных , чтобы проверить решение. Если некоторые ошибки по-прежнему сохраняются, обратитесь в службу поддержки клиентов Azure DevOps Services.

ISVError: 300005

ISVError: 300005 указывает, что идентичность, не относящаяся к группе, является членом группы 'Все пользователи', более известной как группа 'Действительные пользователи'. Допустимые группы пользователей — это группы по умолчанию, определенные для всех проектов и коллекций. Эти группы не редактируются. Они предназначены только для хранения других разрешений Azure DevOps или групп безопасности в качестве участников. Эта ошибка означает, что группа Active Directory (AD) или удостоверение пользователя имеет прямое членство в группе допустимых пользователей.

Это важно

Убедитесь, что у вас есть резервная копия коллекций и баз данных конфигурации перед выполнением следующих команд, чтобы устранить ошибку.

Так как вы не можете напрямую редактировать группы допустимых пользователей, необходимо запустить SQL-запрос в базе данных конфигурации, чтобы удалить проблемное удостоверение и исправить некорректное членство. Внимательно изучите сообщения об ошибках, выделенные средством миграции данных. Скопируйте GroupSid, MemberIdи ScopeId, так как эти значения необходимо поместить в следующую команду.

DECLARE @p6 dbo.typ_GroupMembershipTable

INSERT into @p6 values('{GroupSid}','Microsoft.TeamFoundation.Identity','{MemberId}',0)
 
EXEC prc_UpdateGroupMembership @partitionId=1,@scopeId='{ScopeId}',@idempotent=1,@incremental=1,@insertInactiveUpdates=0,@updates=@p6,@eventAuthor='9EE20697-5343-43FC-8FC5-3D5D455D21C5',@updateGroupAudit=0

В следующем примере представлено сообщение об ошибке ISVError: 300005 от инструмента миграции данных.

ISVError:300005 Unexpected non group identity was found to have direct membership to everyone group. GroupSid:S-1-9-1551374245-3746625149-2333054533-2458719197-2313548623-0-0-0-0-3, MemberId:76050ddf-4fd8-48c4-a1ff-859e44364519, ScopeId:7df650df-0f8b-4596-928d-13dd89e5f34f

Если в сообщении об ошибке указан MemberSid, необходимо получить MemberID из таблицы dbo.tbl_Identity в базе данных конфигурации. С помощью MemberIDможно найти GUID для MemberSid.

ISVError:300005 Unexpected non group identity was found to have direct membership to everyone group. GroupSid:S-1-9-1551374245-3746625149-2333054533-2458719197-2313548623-0-0-0-0-3, MemberSid:System.Security.Principal.WindowsIdentity;S-1-5-21-124525095-708259637-1543119021-1737349, ScopeId:7df650df-0f8b-4596-928d-13dd89e5f34f
DECLARE @MemberId uniqueidentifier 

SET @MemberId = (Select Id from dbo.tbl_Identity where Sid ='S-1-5-21-124525095-708259637-1543119021-1737349');

SELECT @MemberId

Скопируйте GroupSid, MemberIdи ScopeId в команду SQL.


DECLARE @p6 dbo.typ_GroupMembershipTable

INSERT into @p6 values('S-1-9-1551374245-3746625149-2333054533-2458719197-2313548623-0-0-0-0-3','Microsoft.TeamFoundation.Identity','76050ddf-4fd8-48c4-a1ff-859e44364519',0)
 
EXEC prc_UpdateGroupMembership @partitionId=1,@scopeId='7df650df-0f8b-4596-928d-13dd89e5f34f',@idempotent=1,@incremental=1,@insertInactiveUpdates=0,@updates=@p6,@eventAuthor='9EE20697-5343-43FC-8FC5-3D5D455D21C5'

Выполните завершенную команду в базе данных конфигурации Azure DevOps Server. Повторите эту команду для каждого isVError: 300005 экземпляра, сообщаемого. Ошибки, обладающие тем же идентификатором области, можно скомпоновать в одну команду. После выполнения команд повторно запустите средство миграции данных, чтобы убедиться, что ошибки исправляются. Если ошибки по-прежнему сохраняются, обратитесь в службу поддержки клиентов Azure DevOps Services.

Это важно

Чтобы устранить эти ошибки, необходимо подключить коллекцию.

Если при выполнении команды вы получите результат -1, убедитесь, что база данных коллекции, вызвавшая ошибку, подключена к экземпляру Azure DevOps Server, и что вы выполняете команду в базе данных конфигурации.

Исключение времени ожидания в Microsoft Entra

В редких случаях при выполнении команды подготовки средства миграции данных может возникнуть ошибка времени ожидания Microsoft Entra.

Exception Message: Request failed (type AadGraphTimeoutException)

Эта ошибка означает, что запросы к Microsoft Entra ID для поиска соответствующих удостоверений Microsoft Entra для пользователей в вашей коллекции истекли. Обычно эту ошибку можно устранить, запустив команду под командой в менее загруженное время дня, например, после окончания рабочего дня.

Чтобы устранить неполадки, проверьте подключение Microsoft Entra ID с , подготовьте компьютер. Выполните следующие действия, чтобы получить сведения о пользователе из идентификатора Microsoft Entra.

Откройте PowerShell в режиме с повышенными привилегиями и замените "someone@somecompany.com" в следующей команде удостоверением пользователя Microsoft Entra.

# Install the Microsoft Graph PowerShell module - ensuring to select Yes to All
Install-Module Microsoft.Graph 

# Import Users module
Import-Module Microsoft.Graph.Users

# Connect to Microsoft Entra and use your Microsoft Entra ID credentials (someone@somecompany.com) to login when the pop-up appears
Connect-MgGraph  -Scopes 'User.Read.All'

# Try to retrieve information on a user from your Microsoft Entra
Get-MgUser -Filter "UserPrincipalName eq 'someone@somecompany.com'"

Если действия завершаются ошибкой или не удается найти пользователя, проверьте подключение между подготовительной машиной и Microsoft Entra ID. Запустите трассировку сети с и подготовьте, чтобы узнать, есть ли блокировки вызовов в сети. В противном случае обратитесь в службу поддержки Azure. Проверьте файл журнала для сведений о пользователе.

Number of active users is {Number of Users}.

Если число активных пользователей превышает 50 000, объем сопоставленных удостоверений может потребовать больше времени, чем предоставлено ограничением времени ожидания. Проверьте вашу коллекцию на наличие больших групп, таких как группа «все». При возможности удалите эти группы и повторите попытку. Если вы по-прежнему не можете устранить эту ошибку, обратитесь в службу поддержки клиентов Azure DevOps Services.

Устранение ошибок процесса

См. статью "Этап проверки" для получения подробной информации об устранении распространенных ошибок процесса, а также шаблоны процессов для разрешения этих ошибок.

Устранение ошибок проверки поля

VS403310

Следующее сообщение об ошибке может возникать при обнаружении несоответствия в файлах коллекции. Обратитесь в службу поддержки клиентов, если возникла эта ошибка.

VS403310: An inconsistency was detected in some of the files in the collection.

VS403442

Иногда возникают конфликты имен полей между локальной коллекцией и системным полем Azure DevOps Services.

In order to migrate successfully, you must rename field *{TFSfieldReferenceName}*. Given name *{TFSfieldName}* is reserved for field *{VSTSfieldReferenceName}*.

Чтобы устранить эту ошибку, измените имя поля коллекции. Используйте команду witadmin changefieldwitadmin.

witadmin changefield /collection:http://AdventureWorksServer:8080/DefaultCollection /n:TFSfieldReferenceName /name:newFieldName

VS403443

Следующая ошибка указывает, что конфликт имени поля существует между локальной коллекцией и определенным полем Azure DevOps Services.

In order to migrate successfully, you must rename field *{TFSfieldReferenceName}* to *{VSTSfieldName}*. Given name for *{TFSfieldReferenceName}* is *{TFSfieldName}*

Чтобы устранить эту ошибку, используйте команду witadmin changefield. Дополнительные сведения см. в разделе witadmin.

witadmin changefield /collection:http://AdventureWorksServer:8080/DefaultCollection /n:TFSfieldReferenceName /name:VSTSfieldName

VS403444

Следующая ошибка указывает, что конфликт типа поля существует между локальной коллекцией и Azure DevOps Services.

С помощью witadminможно изменить тип данных только для полей HTML или PlainText.

In order to migrate successfully, you must set type of field *{TFSfieldReferenceName}* to *{Type}*. Given type for *{TFSfieldReferenceName}* is *{collectionType}*.

Если тип поля — HTML или PlainText, его тип можно изменить на требуемый.

witadmin changefield /collection:http://AdventureWorksServer:8080/DefaultCollection /n:TFSfieldReferenceName  /type:PlainText | HTML

Примечание.

Если тип поля отличается от HTML или PlainText и данные поля не важны или поле не используется в каком-либо проекте, рекомендуется удалить поле.

witadmin deletefield /collection:http://AdventureWorksServer:8080/DefaultCollection /n:TFSfieldReferenceName

Это важно

Удаление поля приводит к потере данных поля в коллекции.

Устранение сбоев проверки

Сбои проверки означают, что миграция не запущена. Средство миграции данных попыталось добавить задание на миграцию в очередь, но вместо этого возникла ошибка. Запрос на миграцию недействителен. Исправьте сообщения об ошибках и повторите попытку миграции.

VS403254

Регион, введенный для миграции Azure DevOps Services, не поддерживается.

VS403254: Region {0} might not be used for the Import, it is not a supported region.

Откройте файл спецификации миграции и обновите указанный вами регион правильным коротким именем для региона.

VS403249

Выбранное вами имя организации уже используется существующей организацией. Все миграции Azure DevOps Services переходят в новую организацию, созданную во время миграции.

VS403249: The organization {0} already exists. Please select a different name and try the migration again.

Выберите другое имя организации и обновите файл спецификации миграции перед повтором миграции.

VS403250 & VS403286

DACPAC не создается из независимой коллекции.

VS403250: The dacpac is not a detached Azure DevOps Server Collection database.

VS403286: The dacpac is from a Azure DevOps Server Configuration database. You must use a detached Azure DevOps Server Collection database.

Отсоедините базу данных коллекции и снова создайте DACPAC.

VS403243

Не удается подключиться к базе данных с помощью предоставленной строки подключения SQL.

VS403243: Unable to connect to the database using the provided SQL Connection String {0}.

Просмотрите параметры, которые были предоставлены, чтобы убедиться, что они правильные и повторите попытку.

VS403260 & VS403351

База данных коллекции не была отсоединена.

VS403260: The database is not detached.

VS403351: The DACPAC or source database is missing an expected table. It's possible that the database was not correctly detached from Azure DevOps Server.

отключите вашу базу данных коллекции и повторите очередь миграции.

VS403261

Строка подключения должна быть зашифрована, в противном случае пароль отправляется в открытом виде.

VS403261: The SQL connection string must use encryption.

Добавьте Encrypt=true в строку подключения SQL.

VS403262

Строка подключения должна использовать проверку подлинности SQL.

VS403262: The SQL connection string must use SQL Authentication, Integrated Authentication is not supported.

Добавьте интегрированная безопасность=False в строку подключения SQL.

VS403263

У учетной записи пользователя для входа в SQL отсутствует требуемая роль базы данных.

VS403263: The User ID {0} must be member of the database role {1}.

Убедитесь, что для входа учетной записи пользователя назначена роль ' TFSEXECROLE.'

Примечание.

Существует известная проблема с использованием sp_addrolemember для добавления TFSEXECROLE в существующую учетную запись SQL. Членство в роли не применяется, пока не будут закрыты все открытые подключения, использующие это удостоверение. Если вы получили ошибку VS403263 и подтвердили, что ваша учетная запись обладает нужной ролью, мы рекомендуем создать новую учетную запись для вашей миграции.

VS403264

Строка подключения не указывает на базу данных коллекции Azure DevOps Server.

VS403264: The database is not a Azure DevOps Server Collection database, it cannot be used for migration.

Проверьте или исправьте строку подключения, которая указывает на базу данных вашей коллекции.

VS40325

Обновление Azure DevOps Server поставило в очередь задание миграции файлов. Вы не сможете выполнить миграции до завершения задания. Время завершения для этого задания зависит от размера коллекции.

VS403255: The collection cannot be imported due to an ongoing post upgrade job. Please wait and try again later

Ход выполнения задания можно отслеживать, выполнив следующий запрос в базе данных коллекции:

SELECT  COUNT (*) as remaining_files_to_migrate
FROM    tbl_FileReference
WHERE   PartitionId > 0
        AND MigrateFileId IS NOT NULL

После того как количество оставшихся файлов для миграции равно нулю, можно запустить средство миграции данных.

VS403282

Новый символ строки существует в значении исходного расположения. Этот символ может остаться после копирования ключа SAS из консоли Windows.

VS403282: The source location parameter contains a new line character. Please ensure the SAS key is defined on a single line in the migration specification file.

Удалите разрыв строки и повторите попытку.

VS403271

Ваши файлы миграции и DACPAC не находятся в требуемом регионе Azure, чтобы завершить миграцию в целевой регион Azure DevOps Services.

VS403271: It appears that your DACPAC was uploaded to East US. It's required that customers targeting Central US for migration put their DACPACs in Central US. Please move your DACPAC to Central US and requeue the migration.

создайте новую учетную запись хранения Microsoft Azure в нужном регионе и скопируйте файлы. В следующем примере показано, как скопировать данные с помощью AzCopy.

AzCopy.exe /Source:https://accountSCUS.blob.core.windows.net/mycontainer /SourceKey:"primary access key" /Dest:https://accountCUS.blob.core.windows.net/mycontainer /DestKey:"primary access key" /S

VS403316

Несоответствия обнаружены в некоторых файлах управления версиями Team Foundation (TFVC) в вашей коллекции.

VS403316: An inconsistency was detected in some TFVC files for this collection. The inconsistency needs to be corrected prior to running a migration to Azure DevOps Services. Please reach out to https://aka.ms/AzureDevOpsImportSupport for assistance with addressing this issue.

Работа с поддержкой клиентов в Azure DevOps Services. Откройте запрос в службу поддержки, и они будут работать с вами, чтобы устранить ошибку.

VS403366

Средство миграции данных не удалось подключиться к виртуальной машине SQL Azure.

VS403366: A problem occurred while attempting to connect to your database. Please verify that your connection string is correct and that all required IP addresses for Azure DevOps Services have been provided exceptions for your machines firewall.

List of Azure DevOps Services IPs:

Убедитесь, что вы правильно ввели сведения в строке подключения и можете подключиться к виртуальной машине.

IP-адреса, указанные в сообщении об ошибке, принадлежат Azure DevOps Services. IP-адреса Служб Azure DevOps могут временно изменяться во время развертывания. Добавьте их в исключения брандмауэра и повторите попытку выполнения миграции. Список IP-адресов см. в статье Миграция больших коллекций, ограничение доступа к IP-адресам Azure DevOps Services только.

VS403373

Средство миграции данных не поддерживает перенос нескольких копий коллекции SAME. Однако она ВЫПОЛНЯЕТ поддерживает перенос разделенных копий коллекции. Измените GUID для DataImportCollectionID.

В SQL Server Management Studio (SSMS) откройте расширенные свойства для разделенных копий, которые еще не перенесены. Добавьте только что созданный GUID в свойство "TFS_DATAIMPORT_COLLECTIONID". Затем повторно запустите команду подготовки и используйте новый файл migration.json для очереди миграции.

VS403379

Миграция данных не удается, так как один или несколько проектов, найденные в этой коллекции, находятся в стадии временного удаления. Восстановите временно удаленные проекты или удалите их навсегда перед выполнением миграции данных. Дополнительные сведения см. в разделе Удаление проекта.

VS403379: Data migration will fail as one or more projects found in this collection are in the soft-deleted stage. Please restore the soft-deleted project(s) or delete them permanently before running the data migration.

Убедитесь, что коллекция, на которой вы запускаете средство миграции данных, имеет проекты на этапе мягкого удаления. После удаления проекта он остается в состоянии обратимого удаления в течение 28 дней, в течение которых удаленный проект можно восстановить. Вы можете узнать, как восстановить удаленный проект в восстановить проект. Если у вас есть проекты на этапе обратимого удаления, удалите их полностью или восстановите их до выполнения миграции данных.

Устранение сбоев миграции

Сбои миграции означают, что миграция была поставлена в очередь, но не завершилась. Пользователь, поставивший миграцию в очередь, получает уведомление по электронной почте о неудаче. В большинстве случаев эта электронная почта содержит причину сбоя. Если это так, выполните действия по устранению неполадок, указанные в сообщении электронной почты, и на этой странице для устранения ошибок и повторных попыток миграции.

Если ошибка более сложна, сообщение электронной почты, которое вы получаете, содержит инструкции по отправке запроса в службу поддержки клиентов. После отправки обращения в службу поддержки клиентов ваша команда должна восстановить настройки, восстановив онлайн-работу экземпляра Azure DevOps Server и присоединив заново вашу коллекцию. После этого члены команды смогут продолжать работу. Мы рекомендуем не повторить миграцию до тех пор, пока не будет устранена ошибка.

Вопросы и ответы

Вопрос. Что делать, если миграция была поставлена в очередь, но не выполнена, и я не получил сообщение электронной почты с указанием дальнейших действий?

Ответ. Если миграция была поставлена в очередь, но не удалась, и вы не получили уведомление по электронной почте, выполните следующие действия.

  • проверьте журналы миграции. Просмотрите журналы миграции для любых сообщений об ошибках, которые могут указывать на причину сбоя. Журналы могут предоставить аналитические сведения о том, что произошло неправильно во время процесса миграции.
  • Выполните действия по устранению неполадок. Ознакомьтесь с инструкциями по устранению неполадок, описанными в этом руководстве по устранению неполадок миграции. Эти действия помогут вам определить и устранить распространенные проблемы, которые, возможно, вызвали сбой.
  • обратитесь в службу поддержки клиентов. Если ошибка сложна или не удается устранить проблему с помощью журналов и действий по устранению неполадок, рассмотрите возможность отправки дела в службу поддержки клиентов для получения дополнительной помощи.
  • откат и повторная попытка. При необходимости откатите экземпляр Azure DevOps Server и повторно подключите коллекцию перед повторной попыткой миграции.