Resolver erros de migração

A Ferramenta de Migração de Dados sinaliza erros que você precisa corrigir antes de migrar para os Serviços de DevOps do Azure. Este artigo descreve os avisos e erros mais comuns que você pode receber quando estiver se preparando para migrar. Depois de corrigir cada erro, execute o comando migrator validate novamente para verificar a resolução.

Resolver avisos de tamanho

Coleções extragrandes podem gerar uma das seguintes mensagens depois de executar a Ferramenta de Migração de Dados. Se você receber algum desses avisos ou erros, recomendamos que tente reduzir o tamanho do banco de dados.

O aviso a seguir significa que você precisa usar o método de VM do SQL Azure para concluir sua migração. Quando um banco de dados atinge um determinado tamanho, torna-se mais rápido configurar uma VM do SQL Azure para concluir a migração para os Serviços de DevOps do Azure. Para configurar a VM e concluir a migração, siga as instruções vinculadas a partir da mensagem de aviso.

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

Este aviso NÃO significa que sua coleção é muito grande para migração.

Semelhante ao aviso anterior, o aviso a seguir significa que você deve usar o método de máquina virtual (VM) do SQL Azure para concluir a migração. Para configurar a VM e concluir a migração, siga as instruções vinculadas a partir da mensagem de aviso.

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  

Este aviso NÃO significa que sua coleção é muito grande para migração.

O aviso a seguir significa que seu banco de dados está se aproximando do limite para o tamanho total dos metadados. O tamanho dos metadados refere-se ao tamanho do seu banco de dados sem incluir arquivos, código e outros dados binários. Recomendamos que você reduza o tamanho do banco de dados antes da migração. Reduzir o tamanho oferece o outro benefício de acelerar a migração.

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).

O aviso NÃO significa que sua coleção é muito grande para migração, mas seu tamanho de metadados é maior do que a maioria dos outros bancos de dados.

Tamanho dos metadados do banco de dados acima do tamanho máximo suportado

Ao contrário dos avisos anteriores, o seguinte erro IRÁ bloqueá-lo de avançar com a migração.

Isso indica que o volume de metadados em sua coleção é muito grande. Para prosseguir com a migração, você precisa reduzir o tamanho abaixo do limite indicado.

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

Resolver avisos de agrupamento

Os avisos de agrupamento referem-se ao agrupamento do banco de dados de coleção. Os agrupamentos controlam a maneira como os valores de cadeia de caracteres são classificados e comparados. Coleções que não estão usando nenhum dos dois SQL_Latin1_General_CP1_CI_AS ou Latin1_General_CI_AS que recebem uma das mensagens de aviso .

Sem suporte nativo

Receber o seguinte aviso significa que você precisa considerar as implicações de agrupamento antes de executar a migração.

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

Este aviso NÃO significa que você não pode migrar sua coleção.

Este aviso requer que você reconheça a aceitação do aviso. Aceitar o aviso permite que a Ferramenta de Migração de Dados continue os preparativos para a migração.

Quando você migra um agrupamento sem suporte para os Serviços de DevOps do Azure, o agrupamento é transformado em um agrupamento com suporte. Embora essa transformação geralmente funcione sem problemas, resultados inesperados após a migração ou falhas de migração podem ocorrer.

Por exemplo, os clientes podem notar uma ordenação diferente para cadeias de caracteres que contenham caracteres não ingleses. Caracteres não ingleses como 'é' podem se tornar equivalentes ao inglês 'e' após a migração. É importante que você conclua e verifique uma migração de execução de teste ao migrar uma coleção com um agrupamento sem suporte.

Sem suporte nativo, sem conexão com a Internet

Se a Ferramenta de Migração de Dados não puder se conectar à Internet, ela não poderá validar a conversão do seu agrupamento. É apenas um aviso, para que possa continuar com o seu processo de migração. No entanto, quando você executa o comando prepare, uma conexão com a Internet é necessária e a conversão de agrupamento é validada naquele momento.

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

Agrupamento de banco de dados sem suporte

Geralmente, você pode converter um agrupamento sem suporte em um agrupamento suportado no momento da migração. No entanto, alguns agrupamentos não podem ser convertidos. Se sua coleção usa um desses agrupamentos, você receber a seguinte mensagem de erro .

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

Para continuar, você precisa alterar o agrupamento da sua coleção para um dos agrupamentos com suporte nos Serviços de DevOps do Azure.

Resolver erros de identidade

Corrija erros de identidade antes da migração para evitar problemas. Eles são raros e acontecem quando operações antigas do TFS são inválidas em um novo Servidor de DevOps do Azure. Por exemplo, alguns usuários não podem mais estar no grupo de usuários válidos.

As seções a seguir fornecem orientação para resolver os erros de identidade mais comuns.

ISVError: 100014

Esse erro indica que uma permissão está faltando em um grupo de segurança do sistema. Por exemplo, cada coleção que você cria tem grupos Usuários Válidos da Coleção de Projetos e Administradores de Coleção de Projetos. O sistema cria-os por defeito. Esses grupos não suportam a edição de suas permissões.

Esse erro indica que um ou mais grupos estão faltando uma permissão que ele deveria ter. Para resolver esse erro, use o comando TFSSecurity.exe para aplicar as permissões esperadas nos grupos de sistema sinalizados. Seu primeiro passo é identificar qual comando TFSSecurity você precisa executar.

Mensagem de erro Usuários válidos da coleção de projetos

Examine uma ou mais mensagens de erro destacadas pela Ferramenta de Migração de Dados. Se o grupo sinalizado terminar com "0-0-0-0-3", como no exemplo a seguir, você precisará corrigir uma permissão ausente para o grupo Usuários Válidos da Coleção de Projetos.

Execute o seguinte comando, substitua o escopo pelo da mensagem de erro e especifique a URL da coleção.

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

Você determina o escopo e o ID de segurança de grupo (SID) da mensagem de erro.

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 

O comando final é semelhante à seguinte entrada:

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

Mensagem de erro dos Administradores de Coleção de Projetos

Examine cuidadosamente as mensagens de erro destacadas pela Ferramenta de Migração de Dados. Se o grupo sinalizado terminar com "0-0-0-0-1", como no exemplo a seguir, você precisará corrigir uma permissão ausente para o grupo Administradores de Coleção de Projetos . Execute os seguintes comandos contra TFSSecurity.exe, substitua o escopo pelo da mensagem de erro e especifique sua coleção.

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}

No exemplo a seguir, pegue o escopo e o grupo SID da mensagem de erro e adicione-os ao comando anterior.

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 

O comando final é semelhante à seguinte entrada:

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

Quando precisar corrigir vários erros, recomendamos que você crie um arquivo em lotes para automatizar a execução dos comandos. Depois de executar os comandos, execute novamente a ferramenta de validação de migração de dados para verificar a resolução. Se alguns erros ainda persistirem, entre em contato com o suporte ao cliente dos Serviços de DevOps do Azure.

ISVError: 300005

ISVError: 300005 indica que uma identidade que não é de grupo é um membro de um grupo de todos, mais comumente conhecido como grupos de Usuários Válidos. Os grupos de usuários válidos são grupos padrão definidos para todos os projetos e coleções. Esses grupos não são editáveis. Eles foram projetados para conter apenas outras permissões ou grupos de segurança do Azure DevOps como membros. Este erro indica que um grupo do Ative Directory (AD) ou identidade de utilizador tem uma associação direta a um grupo de Utilizadores Válidos.

Importante

Certifique-se de ter um backup de seus bancos de dados de coleção e configuração antes de executar os seguintes comandos para resolver o erro.

Como não é possível editar diretamente grupos de Usuários Válidos, é necessário executar uma instrução SQL no banco de dados de configuração para remover a identidade ofensiva e corrigir a associação inválida. Examine cuidadosamente as mensagens de erro destacadas pela Ferramenta de Migração de Dados. Copie o GroupSid, MemberIde ScopeId como você precisa colocar esses valores no comando a seguir.

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

O exemplo a seguir lista um exemplo de um ISVError: 300005 mensagem da Ferramenta de Migração de Dados.

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

Se a mensagem de erro listar um MemberSid, você precisará obter o MemberID da tabela dbo.tbl_Identity no banco de dados de configuração. Com o MemberID, você pode procurar o GUID para o 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

Copie o GroupSid, MemberIde ScopeId para o comando 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'

Execute o comando completed no banco de dados de configuração do Azure DevOps Server. Repita este comando para cada ISVError: 300005 instância relatada. Você pode agrupar erros com o mesmo ID de escopo em um único comando. Depois de executar os comandos, execute novamente a validação da Ferramenta de Migração de Dados para garantir que os erros sejam corrigidos. Se os erros persistirem, entre em contato com o suporte ao cliente dos Serviços de DevOps do Azure.

Importante

Para corrigir esses erros, a coleção deve ser anexada.

Se você receber um resultado -1 ao executar o comando, verifique se o banco de dados de coleção que produziu o erro está anexado à sua instância do Servidor de DevOps do Azure e se você está executando o comando no banco de dados de configuração.

Exceção de tempo limite do Microsoft Entra

Em raras ocasiões, você pode receber um erro de tempo limite do Microsoft Entra ao executar o comando prepare da Ferramenta de Migração de Dados.

Exception Message: Request failed (type AadGraphTimeoutException)

Este erro significa que as solicitações para o Microsoft Entra ID para encontrar as identidades correspondentes do Microsoft Entra para usuários em sua coleção expiraram. Geralmente, você pode resolver esse erro aguardando para executar o comando prepare em um horário menos movimentado do dia, como após o horário comercial normal.

Para solucionar problemas, teste a conexão do Microsoft Entra ID na máquina de preparação . Siga estas etapas para obter informações do usuário do Microsoft Entra ID.

Abra o PowerShell no modo elevado e substitua 'someone@somecompany.com' no comando a seguir pela identidade do usuário do 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'"

Se as etapas falharem ou você não conseguir encontrar o usuário, verifique a conexão entre a máquina de preparação e o ID do Microsoft Entra. Execute um rastreamento de rede com prepare para ver se a rede bloqueia chamadas. Caso contrário, entre em contato com o suporte do Azure. Verifique o arquivo de log para obter as informações do usuário.

Number of active users is {Number of Users}.

Se o número de usuários ativos for superior a 50.000, o volume de identidades mapeadas pode exigir mais tempo do que o fornecido pelo limite de tempo limite. Inspecione sua coleção em busca de inclusões de grandes grupos, como um grupo de "todos". Se possível, remova esses grupos e tente novamente. Se ainda não conseguir resolver este erro, contacte o suporte ao cliente dos Serviços de DevOps do Azure.

Resolver erros de processo

Consulte o artigo da fase Validar, Resolver modelos de processo para obter detalhes sobre como resolver erros comuns do processo.

Resolver erros de validação de campo

VS403310

A seguinte mensagem de erro pode ocorrer quando uma inconsistência nos arquivos de coleção é detetada. Entre em contato com o suporte ao cliente se encontrar esse erro.

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

VS403442

Às vezes, ocorrem conflitos de nome de campo entre sua coleção local e um campo do sistema dos Serviços de DevOps do Azure.

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

Para resolver esse erro, altere o nome do campo de coleção. Use o comando witadmin changefield do witadmin.

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

VS403443

O erro a seguir indica que existe um conflito de nome de campo entre sua coleção local e um campo específico dos Serviços de DevOps do Azure.

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

Para resolver esse erro, use o comando witadmin changefield . Para obter detalhes, consulte witadmin.

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

VS403444

O erro a seguir indica que existe um conflito de tipo de campo entre sua coleção local e os Serviços de DevOps do Azure.

Usando witadmin, você pode alterar o tipo de dados somente para campos HTML ou PlainText.

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

Se o tipo de campo for HTML ou PlainText, você poderá alterar seu tipo para o tipo necessário.

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

Nota

Se o seu tipo de campo for diferente de HTML ou Texto Simples e os dados do campo não forem importantes ou se o campo não for usado em nenhum projeto, recomendamos que você exclua o campo.

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

Importante

A exclusão de um campo resulta em uma perda de dados de campo em toda a coleção.

Resolver falhas de verificação

Falhas de verificação significam que a migração não foi iniciada. A Ferramenta de Migração de Dados tentou enfileirar uma migração, mas obteve um erro. O seu pedido de migração não é válido. Corrija as mensagens de erro e tente migrar novamente.

VS403254

A região que você inseriu para a migração dos Serviços de DevOps do Azure não é suportada.

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

Abra o arquivo de especificação de migração e atualize a região que você forneceu com o nome abreviado correto para a região.

VS403249

O nome da organização que sua equipe selecionou já está em uso por uma organização existente. Todas as migrações dos Serviços de DevOps do Azure vão para uma nova organização que é criada no momento da migração.

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

Selecione um nome de organização diferente e atualize o arquivo de especificação de migração antes de tentar novamente a migração.

VS403250 & VS403286

O DACPAC não foi construído a partir de uma coleção separada.

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.

Desanexe o banco de dados de coleção e gere o DACPAC novamente.

VS403243

Não é possível estabelecer uma conexão com o banco de dados usando a Cadeia de Conexão SQL fornecida.

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

Reveja os parâmetros que foram fornecidos para garantir que estão corretos e tente novamente.

VS403260 & VS403351

O banco de dados de coleta não é desanexado.

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.

Desanexe o banco de dados de coleta e tente novamente a fila de migração.

VS403261

A cadeia de conexão deve ser criptografada, caso contrário, a senha será enviada de forma clara.

VS403261: The SQL connection string must use encryption.

Adicione Encrypt=true à sua cadeia de conexão SQL.

VS403262

A cadeia de conexão deve usar a Autenticação SQL.

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

Adicione Integrated Security=False à sua cadeia de conexão SQL.

VS403263

Sua conta de usuário de logon SQL não tem a função de banco de dados necessária.

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

Certifique-se de que a conta de utilizador para iniciar sessão está atribuída a função 'TFSEXECROLE' .

Nota

Há um problema conhecido com o uso sp_addrolemember para adicionar TFSEXECROLE a um logon SQL existente. A associação de função não é aplicada até que todas as conexões abertas que usam essa identidade sejam fechadas. Se você receber o erro de VS403263 e tiver confirmado que sua identidade tem a função, recomendamos que você crie uma nova identidade para sua migração.

VS403264

A cadeia de conexão não aponta para um banco de dados de coleção do Azure DevOps Server.

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

Verifique ou corrija os pontos de cadeia de conexão para o banco de dados de coleção.

VS40325

A Atualização do Servidor de DevOps do Azure enfileirou o trabalho de migração de arquivos. Não é possível executar migrações até que esse trabalho seja concluído. O tempo de conclusão deste trabalho depende do tamanho da coleção.

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

Você pode acompanhar o progresso do trabalho executando a seguinte consulta no banco de dados de coleta:

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

Quando o número de arquivos restantes para migrar for zero, você poderá executar a Ferramenta de Migração de Dados.

VS403282

Existe um novo caractere de linha no valor do local de origem. Esse caractere pode permanecer depois de copiar a chave SAS do console do 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.

Remova a quebra de linha e tente novamente.

VS403271

Seus arquivos de migração e o DACPAC não estão localizados na região necessária do Azure para concluir a migração para sua região de destino dos Serviços de DevOps do Azure.

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.

Crie uma nova conta de armazenamento do Microsoft Azure na região necessária e copie seus arquivos. O exemplo a seguir mostra como copiar seus dados usando 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

Inconsistências foram detetadas em alguns arquivos de controle de versão do Team Foundation (TFVC) dentro de sua coleção.

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.

Trabalhe com o suporte ao cliente dos Serviços de DevOps do Azure. Abra um ticket de suporte e eles trabalham com você para resolver o erro.

VS403366

A Ferramenta de Migração de Dados não pôde se conectar à VM do 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:

Verifique se você inseriu as informações corretamente na cadeia de conexão e se pode se conectar à VM.

Os IPs que as listas de mensagens de erro são para os Serviços de DevOps do Azure. Os IPs dos Serviços de DevOps do Azure podem ser alterados temporariamente durante as implantações. Adicione-os às exceções do firewall e tente enfileirar a migração novamente. Para obter uma lista de endereços IP, consulte Migrar coleções grandes, Restringir o acesso apenas a IPs dos Serviços de DevOps do Azure.

VS403373

A Ferramenta de Migração de Dados não suporta a migração de várias cópias da coleção SAME . No entanto, ele NÃO suporta a migração de cópias divididas de uma coleção. Altere o GUID para o DataImportCollectionID.

No SQL Server Management Studio (SSMS), abra as propriedades estendidas das cópias divididas que você ainda não migrou. Adicione um GUID recém-gerado à propriedade "TFS_DATAIMPORT_COLLECTIONID". Em seguida, execute novamente o comando prepare e use o novo arquivo migration.json para enfileirar a migração.

VS403379

A migração de dados falha porque um ou mais projetos encontrados nesta coleção estão no estágio de exclusão flexível. Restaure os projetos excluídos por software ou exclua-os permanentemente antes de executar a migração de dados. Para obter detalhes, consulte Excluir um projeto.

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.

Verifique se a coleção na qual você está executando a Ferramenta de Migração de Dados tem projetos no estágio de exclusão suave. Depois que um projeto é excluído, ele permanece em um estado de exclusão suave por 28 dias, durante os quais o projeto excluído pode ser restaurado. Você pode ler sobre como restaurar um projeto excluído em Restaurar um projeto. Se você tiver projetos no estágio de exclusão suave, remova-os completamente ou restaure-os de volta antes de executar a migração de dados.

Resolver falhas de migração

Falhas de migração significam que a migração entrou na fila, mas não foi concluída. O indivíduo que enfileirou a migração recebe uma notificação por e-mail de falha. Na maioria das vezes, este e-mail inclui um motivo para a falha. Se isso acontecer, use as etapas de solução de problemas fornecidas no e-mail e nesta página para resolver os erros e tentar novamente a migração.

Se o erro for mais complexo, o e-mail que você recebe fornece instruções sobre como arquivar um caso de suporte ao cliente. Depois de enviar um caso de suporte ao cliente, sua equipe deve reverter colocando sua instância do Azure DevOps Server online novamente e reanexar sua coleção. Em seguida, os membros da equipa poderão continuar a trabalhar. Recomendamos que você não tente a migração novamente até que a falha que causa o problema seja resolvida.