Udostępnij za pośrednictwem


Rozwiązywanie błędów migracji

Narzędzie do migracji danych flaguje błędy, które należy poprawić przed zaimportowaniem do usług Azure DevOps Services. W tym artykule opisano najbardziej typowe ostrzeżenia i błędy, które mogą wystąpić podczas przygotowywania do importowania. Po skorygowaniu każdego błędu ponownie uruchom polecenie migrator validate, aby sprawdzić rozwiązanie.

Aby uzyskać więcej pomocy, zapoznaj się z sekcją często zadawanych pytań na końcu tego artykułu.

Rozwiązywanie problemu z ostrzeżeniami dotyczącymi rozmiaru

Bardzo duże kolekcje mogą generować jeden z następujących komunikatów po uruchomieniu narzędzia do migracji danych. Jeśli otrzymasz którekolwiek z tych ostrzeżeń lub błędów, zalecamy spróbować zmniejszyć rozmiar bazy danych.

Poniższe ostrzeżenie oznacza, że do ukończenia migracji należy użyć metody maszyny wirtualnej platformy Azure SQL. Gdy baza danych osiągnie określony rozmiar, staje się szybsze, aby skonfigurować maszynę wirtualną platformy Azure SQL w celu ukończenia migracji do usług Azure DevOps Services. Aby skonfigurować maszynę wirtualną i ukończyć migrację, postępuj zgodnie z instrukcjami połączonymi z komunikatem ostrzegawczym.

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

To ostrzeżenie nie oznacza, że kolekcja jest zbyt duża do migracji.

Podobnie jak w przypadku poprzedniego ostrzeżenia, poniższe ostrzeżenie oznacza, że do ukończenia migracji należy użyć metody SQL Azure Virtual Machine (VM). Aby skonfigurować maszynę wirtualną i ukończyć migrację, postępuj zgodnie z instrukcjami połączonymi z komunikatem ostrzegawczym.

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  

To ostrzeżenie nie oznacza, że kolekcja jest zbyt duża do migracji.

Poniższe ostrzeżenie oznacza, że baza danych zbliża się do limitu całkowitego rozmiaru metadanych. Rozmiar metadanych odnosi się do rozmiaru bazy danych bez dołączania plików, kodu i innych danych binarnych. Zalecamy zmniejszenie rozmiaru bazy danych przed migracją. Zmniejszenie rozmiaru zapewnia drugą korzyść z przyspieszenia migracji.

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

Ostrzeżenie nie oznacza, że kolekcja jest zbyt duża do migracji, a jej rozmiar metadanych jest większy niż większość innych baz danych.

Rozmiar metadanych bazy danych powyżej maksymalnego obsługiwanego rozmiaru

W przeciwieństwie do poprzednich ostrzeżeń, następujący błąd zablokuje możliwość kontynuowania migracji.

Wskazuje, że ilość metadanych w kolekcji jest zbyt duża. Aby kontynuować migrację, należy zmniejszyć rozmiar poniżej wskazanego limitu.

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

Rozwiąż ostrzeżenia sortowania

Ostrzeżenia dotyczące sortowania odnoszą się do sortowania bazy danych kolekcji. Sortowania kontrolują sposób uporządkowania i porównywania wartości ciągów. Kolekcje, które nie używają SQL_Latin1_General_CP1_CI_AS lub Latin1_General_CI_AS otrzymują jeden z komunikatów ostrzegawczych .

Brak natywnej obsługi

Otrzymanie następującego ostrzeżenia oznacza, że przed przeprowadzeniem migracji należy uwzględnić skutki sortowania.

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

To ostrzeżenie nie oznacza, że nie można migrować kolekcji.

To ostrzeżenie wymaga potwierdzenia akceptacji ostrzeżenia. Zaakceptowanie ostrzeżenia umożliwia narzędziu do migracji danych kontynuowanie przygotowań do migracji.

Podczas migracji nieobsługiwanego sortowania do usług Azure DevOps Services sortowanie jest przekształcane w obsługiwane sortowanie. Chociaż ta transformacja zwykle działa bez problemu, mogą wystąpić nieoczekiwane wyniki po migracji lub niepowodzenia migracji.

Na przykład klienci mogą zauważyć różną kolejność ciągów zawierających nieangielskie znaki. Znaki inne niż angielskie, takie jak "é", mogą stać się równoważne angielskiej "e" po migracji. Ważne jest, aby ukończyć i zweryfikować migrację testową podczas migrowania kolekcji z nieobsługiwanym sortowaniem.

Brak natywnej obsługi, brak połączenia internetowego

Jeśli narzędzie do migracji danych nie może nawiązać połączenia z Internetem, nie może zweryfikować konwersji sortowania. Jest to tylko ostrzeżenie, więc możesz kontynuować proces migracji. Jednak, gdy uruchomisz polecenie przygotowania, wymagane jest połączenie internetowe, a przekształcenie sortowania jest wtedy weryfikowane.

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

Sortowanie nieobsługiwanej bazy danych

Ogólnie rzecz biorąc, sortowanie nieobsługiwane można przekonwertować na obsługiwane sortowanie w czasie migracji. Nie można jednak przekonwertować niektórych kolejności sortowania. Jeśli kolekcja używa jednego z tych porządkowań, zostanie wyświetlony następujący komunikat o błędzie .

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

Aby kontynuować, musisz zmienić sortowanie kolekcji na jedno z obsługiwanych sortowań w usługach Azure DevOps.

Rozwiązywanie problemów z błędami tożsamości

Napraw błędy tożsamości przed migracją, aby zapobiec problemom. Te błędy są rzadkie i występują, gdy stare operacje są nieprawidłowe na nowym serwerze Azure DevOps Server. Na przykład niektórzy użytkownicy mogą nie być już częścią prawidłowej grupy użytkowników.

Poniższe sekcje zawierają wskazówki dotyczące rozwiązywania najczęstszych błędów tożsamości.

ISVError: 100014

Ten błąd wskazuje, że w grupie zabezpieczeń systemu brakuje uprawnień. Na przykład każda utworzona kolekcja projektów ma grupy Użytkownicy uprawnieni do kolekcji projektów i Administratorzy kolekcji projektów. System tworzy je domyślnie. Te grupy nie obsługują edytowania swoich uprawnień.

Ten błąd wskazuje, że jednej lub kilku grupom brakuje uprawnienia, które powinny mieć. Aby rozwiązać ten błąd, użyj polecenia TFSSecurity.exe, aby zastosować oczekiwane uprawnienia do oflagowanych grup systemowych. Pierwszym krokiem jest określenie, które polecenie TFSSecurity należy uruchomić.

Komunikat o błędzie użytkowników prawidłowej kolekcji projektu

Sprawdź co najmniej jeden komunikat o błędzie wyróżniony przez narzędzie do migracji danych. Jeśli oflagowana grupa kończy się ciągiem "0-0-0-0-3", na przykład w poniższym przykładzie, należy przyznać brakujące uprawnienie dla grupy prawidłowych użytkowników Kolekcji projektów .

Uruchom następujące polecenie, zastąp zakres tym zakresem z komunikatu o błędzie i określ adres URL kolekcji.

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

Na podstawie komunikatu o błędzie określasz zakres i identyfikator zabezpieczeń grupy (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 

Ostatnie polecenie jest podobne do następującego wpisu:

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

Komunikat o błędzie administratorów kolekcji projektów

Dokładnie sprawdź komunikaty o błędach wyróżnione przez narzędzie do migracji danych. Jeśli oflagowana grupa kończy się ciągiem znaków "0-0-0-0-1", jak w poniższym przykładzie, należy naprawić brakujące uprawnienie dla grupy Administratorów Kolekcji Projektów . Uruchom następujące polecenia względem TFSSecurity.exe, zastąp zakres odpowiednim zakresem z komunikatu o błędzie i określ swoją kolekcję.

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}

W poniższym przykładzie weź zakres i grupę SID z komunikatu o błędzie i dodaj je do poprzedniego polecenia.

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 

Ostatnie polecenie jest podobne do następującego wpisu:

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

Jeśli musisz poprawić wiele błędów, zalecamy utworzenie pliku wsadowego w celu zautomatyzowania wykonywania poleceń. Po wykonaniu poleceń uruchom ponownie migrację danych, zweryfikuj narzędzie w celu zweryfikowania rozwiązania. Jeśli niektóre błędy nadal występują, skontaktuj się z obsługą klienta Azure DevOps Services.

ISVError: 300005

ISVError: 300005 wskazuje, że tożsamość niebędąca grupą jest członkiem grupy wszyscy, bardziej znanej jako grupy Prawidłowych Użytkowników. Prawidłowe grupy Użytkowników to grupy domyślne zdefiniowane dla wszystkich projektów i kolekcji. Te grupy nie są edytowalne. Są one zaprojektowane tak, aby zawierały tylko inne uprawnienia usługi Azure DevOps lub grupy zabezpieczeń jako członkowie. Ten błąd wskazuje, że grupa lub tożsamość użytkownika usługi Active Directory (AD) ma bezpośrednie członkostwo w grupie Prawidłowi użytkownicy.

Ważne

Przed uruchomieniem poniższych poleceń upewnij się, że masz kopię zapasową baz danych kolekcji i konfiguracji, aby rozwiązać ten problem.

Ponieważ nie można bezpośrednio edytować grup użytkowników o nazwie 'Valid Users', należy uruchomić instrukcję SQL względem bazy danych konfiguracji, aby usunąć problematyczną tożsamość i skorygować nieprawidłowe członkostwo. Dokładnie sprawdź komunikaty o błędach wyróżnione przez narzędzie do migracji danych. Skopiuj GroupSid, MemberIdi ScopeId, ponieważ musisz umieścić te wartości w następującym poleceniu.

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

W poniższym przykładzie przedstawiono komunikat błędu ISVError: 300005 z narzędzia do migracji danych.

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

Jeśli w komunikacie o błędzie pojawia się MemberSid, musisz pobrać MemberID z tabeli dbo.tbl_Identity w konfiguracyjnej bazie danych. Za pomocą MemberIDmożna następnie wyszukać identyfikator GUID dla 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

Skopiuj GroupSid, MemberIdi ScopeId do polecenia 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'

Uruchom ukończoną komendę na bazie danych konfiguracji usługi Azure DevOps Server. Powtarzaj tę komendę dla każdego zgłoszonego wystąpienia ISVError: 300005. Możesz połączyć błędy z tym samym identyfikatorem zakresu w jednym poleceniu. Po wykonaniu poleceń ponownie uruchom narzędzie do migracji danych ponownie, aby upewnić się, że błędy zostały poprawione. Jeśli błędy będą nadal występować, skontaktuj się z działem pomocy technicznej klienta usług Azure DevOps Services .

Ważne

Aby rozwiązać te błędy, należy dołączyć kolekcję.

Jeśli podczas wykonywania polecenia zostanie wyświetlony wynik -1, upewnij się, że baza danych kolekcji, która wygenerowała błąd, jest dołączona do wystąpienia usługi Azure DevOps Server i że uruchamiasz polecenie w bazie danych konfiguracji.

Wyjątek limitu czasu usługi Microsoft Entra

W rzadkich przypadkach może wystąpić błąd przekroczenia limitu czasu Microsoft Entra podczas uruchamiania polecenia przygotowania narzędzia do migracji danych.

Exception Message: Request failed (type AadGraphTimeoutException)

Ten błąd oznacza, że przekroczono limit czasu żądań do Entra ID firmy Microsoft w celu znalezienia pasujących tożsamości Microsoft Entra dla użytkowników w Twojej kolekcji. Ogólnie rzecz biorąc, ten błąd można rozwiązać, czekając z uruchomieniem polecenia przygotuj w mniej obciążonym momencie dnia, na przykład po regularnych godzinach pracy.

Aby rozwiązać problemy, przetestuj połączenie Microsoft Entra ID z maszyny i przygotuj maszynę. Wykonaj następujące kroki, aby uzyskać informacje o użytkowniku z identyfikatora Entra firmy Microsoft.

Otwórz program PowerShell w trybie podwyższonym uprawnień i zastąp ciąg "someone@somecompany.com" w poniższym poleceniu tożsamością użytkownika firmy 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'"

Jeśli kroki kończą się niepowodzeniem lub nie możesz odnaleźć użytkownika, sprawdź połączenie między maszyną przygotowaną i Microsoft Entra ID. Uruchom ślad sieciowy z przygotuj, aby sprawdzić, czy sieć blokuje połączenia. Jeśli nie, skontaktuj się z pomocą techniczną platformy Azure. Sprawdź plik dziennika pod kątem informacji o użytkowniku.

Number of active users is {Number of Users}.

Jeśli liczba aktywnych użytkowników przekracza 50 000, mapowanie tożsamości może wymagać więcej czasu niż przewidziany limit. Sprawdź kolekcję pod kątem dołączania dużych grup, takich jak grupa "wszyscy". Jeśli to możliwe, usuń te grupy i spróbuj ponownie. Jeśli nadal nie możesz rozwiązać tego błędu, skontaktuj się z pomocy technicznej usług Azure DevOps Services dla klientów .

Rozwiązywanie problemów z błędami procesu

Aby uzyskać szczegółowe informacje na temat rozwiązywania typowych błędów procesów, zobacz artykuł "Faza weryfikacji" oraz "Rozwiązywanie szablonów procesów".

Rozwiązywanie problemów z błędami walidacji pól

VS403310

Po wykryciu niespójności plików kolekcji może wystąpić następujący komunikat o błędzie. Jeśli wystąpi ten błąd, skontaktuj się z pomocą techniczną klienta.

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

VS403442

Konflikty nazw pól czasami występują między kolekcją lokalną a polem systemowym usługi Azure DevOps Services.

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

Aby rozwiązać ten błąd, zmień nazwę pola kolekcji. Użyj polecenia witadmin changefield z witadmin.

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

VS403443

Poniższy błąd wskazuje, że istnieje konflikt nazwy pola między kolekcją lokalną a określonym polem usługi Azure DevOps Services.

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

Aby rozwiązać ten błąd, użyj polecenia witadmin changefield. Aby uzyskać szczegółowe informacje, zobacz witadmin.

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

VS403444

Poniższy błąd wskazuje, że istnieje konflikt typu pola między kolekcją lokalną a usługami Azure DevOps Services.

Za pomocą witadminmożna zmienić typ danych tylko dla pól HTML lub PlainText.

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

Jeśli typ pola to HTML lub PlainText, możesz zmienić jego typ na wymagany typ.

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

Uwaga

Jeśli typ pola różni się od kodu HTML lub zwykłego tekstu, a dane pól nie są ważne lub pole nie jest używane w żadnym projekcie, zalecamy usunięcie pola.

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

Ważne

Usunięcie pola powoduje utratę danych pól w kolekcji.

Rozwiązywanie problemów z błędami weryfikacji

Niepowodzenia weryfikacji oznaczają, że migracja nie rozpoczęła się. Narzędzie do migracji danych próbowało utworzyć kolejkę migracji, ale zamiast tego wystąpił błąd. Twoje żądanie migracji nie jest prawidłowe. Napraw komunikaty o błędach, a następnie spróbuj przeprowadzić migrację ponownie.

VS403254

Region wprowadzony na potrzeby migracji usług Azure DevOps Services nie jest obsługiwany.

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

Otwórz plik specyfikacji migracji i zaktualizuj region podany przy użyciu poprawnej krótkiej nazwy regionu .

VS403249

Wybrana nazwa organizacji jest już używana przez istniejącą organizację. Wszystkie migracje usługi Azure DevOps Services przechodzą do nowej organizacji utworzonej w czasie migracji.

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

Wybierz inną nazwę organizacji i zaktualizuj plik specyfikacji migracji przed ponowną próbą migracji.

VS403250 & VS403286

Pakiet DACPAC nie jest zbudowany z odseparowanej kolekcji.

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.

odłącz bazy danych kolekcji i ponownie wygeneruj pakiet DACPAC.

VS403243

Nie można nawiązać połączenia z bazą danych przy użyciu podanych parametrów połączenia SQL.

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

Przejrzyj podane parametry, aby upewnić się, że są poprawne i spróbuj ponownie.

VS403260 & VS403351

Baza danych kolekcji nie jest odłączona.

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.

odłącz bazę danych kolekcji i ponów kolejkę migracji.

VS403261

Łańcuch połączenia musi być szyfrowany, w przeciwnym razie hasło jest wysyłane w formie niezaszyfrowanej.

VS403261: The SQL connection string must use encryption.

Dodaj Encrypt=true do parametrów połączenia SQL.

VS403262

Parametry połączenia muszą używać uwierzytelniania SQL.

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

Dodaj Integrated Security=False do parametrów połączenia SQL.

VS403263

Konto użytkownika do logowania w SQL nie ma wymaganej roli w bazie danych.

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

Upewnij się, że konto użytkownika do logowania ma przypisaną rolę "TFSEXECROLE".

Uwaga

Istnieje znany problem z używaniem sp_addrolemember do dodawania TFSEXECROLE do istniejącego identyfikatora logowania SQL. Członkostwo w tej roli nie zaczyna obowiązywać, dopóki wszystkie otwarte połączenia przy użyciu tej tożsamości nie zostaną zamknięte. Jeśli zostanie wyświetlony błąd VS403263 i potwierdzono, że tożsamość ma rolę, zalecamy utworzenie nowej tożsamości na potrzeby migracji.

VS403264

Parametr połączenia nie wskazuje na bazę danych kolekcji usługi Azure DevOps Server.

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

Sprawdź lub popraw parametry połączenia z bazą danych kolekcji.

VS40325

Aktualizacja serwera Azure DevOps dodała zadanie migracji plików do kolejki. Nie można przeprowadzić migracji, dopóki to zadanie nie zostanie ukończone. Czas ukończenia tego zadania zależy od rozmiaru kolekcji.

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

Postęp zadania można śledzić, uruchamiając następujące zapytanie w bazie danych kolekcji:

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

Gdy liczba plików pozostałych do migracji wynosi zero, możesz uruchomić narzędzie do migracji danych.

VS403282

Nowy znak wiersza istnieje w wartości lokalizacji źródłowej. Ten znak może pozostać po skopiowaniu klucza SAS z konsoli systemu 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.

Usuń podział wiersza i spróbuj ponownie.

VS403271

Pliki migracji i pakiet DACPAC nie znajdują się w wymaganym regionie platformy Azure w celu ukończenia migracji do docelowego regionu usług 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.

Utwórz nowe konto usługi Microsoft Azure Storage w wymaganym regionie i skopiuj pliki. W poniższym przykładzie pokazano, jak skopiować dane przy użyciu narzędzia 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

W Twojej kolekcji wykryto niespójności w niektórych plikach kontroli wersji 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.

Współpracuj z usługą Azure DevOps Services obsługi klienta. Otwórz bilet pomocy technicznej i skontaktuje się z Tobą, aby rozwiązać ten problem.

VS403366

Narzędzie do migracji danych nie może nawiązać połączenia z maszyną wirtualną platformy Azure SQL.

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:

Sprawdź, czy informacje zostały wprowadzone poprawnie w parametrach połączenia i czy można nawiązać połączenie z maszyną wirtualną.

Adresy IP wyświetlane na liście komunikatów o błędach dotyczą usług Azure DevOps Services. Adresy IP usług Azure DevOps Services mogą tymczasowo zmieniać się podczas wdrożeń. Dodaj je do wyjątków zapory i spróbuj ponownie przeprowadzić kolejkowanie migracji. Aby uzyskać listę adresów IP, zobacz Migrowanie dużych kolekcji, Ogranicz dostęp tylko do adresów IP usługi Azure DevOps (zobacz).

VS403373

Narzędzie do migracji danych nie obsługuje migrowania wielu kopii tej samej kolekcji . Jednak obsługuje migrację podzielonych kopii kolekcji. Zmień identyfikator GUID DataImportCollectionID.

W programie SQL Server Management Studio (SSMS) otwórz rozszerzone właściwości dla kopii podzielonych, które nie zostały jeszcze zmigrowane. Dodaj nowo wygenerowany identyfikator GUID do właściwości "TFS_DATAIMPORT_COLLECTIONID". Następnie ponownie uruchom polecenie przygotowania i użyj nowego pliku migration.json, aby dodać do kolejki migracji.

VS403379

Migracja danych kończy się niepowodzeniem, ponieważ jeden lub więcej projektów w tej kolekcji znajduje się na etapie miękkiego usunięcia. Przywróć miękko usunięte projekty lub usuń je trwale przed uruchomieniem migracji danych. Aby uzyskać szczegółowe informacje, zobacz Usuwanie projektu.

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.

Sprawdź, czy kolekcja, dla której jest uruchomione narzędzie do migracji danych, ma projekty na etapie usuwania nietrwałego. Po usunięciu projektu pozostaje on w stanie usuwania nietrwałego przez 28 dni, w którym można przywrócić usunięty projekt. Informacje na temat przywracania usuniętego projektu można dowiedzieć się w Przywracanie projektu. Jeśli masz projekty na etapie usuwania nietrwałego, usuń je całkowicie lub przywróć je z powrotem przed uruchomieniem migracji danych.

Rozwiązywanie błędów migracji

Błędy migracji oznaczają, że migracja została w kolejce, ale nie została ukończona. Osoba, która utworzyła kolejkę migracji, otrzymuje powiadomienie e-mail o niepowodzeniu. W większości przypadków ta wiadomość e-mail zawiera przyczynę niepowodzenia. Jeśli tak, skorzystaj z kroków rozwiązywania problemów podanych w wiadomości e-mail i na tej stronie, aby usunąć błędy i ponowić próbę migracji.

Jeśli błąd jest bardziej złożony, otrzymana wiadomość e-mail zawiera instrukcje dotyczące tworzenia zgłoszenia do pomocy technicznej klienta . Po przesłaniu zgłoszenia do pomocy technicznej klienta zespół musi przywrócić działanie wystąpienia usługi Azure DevOps Server do trybu online i ponownie podłączyć kolekcję. Członkowie Twojego zespołu będą mogli wtedy kontynuować pracę. Zalecamy, aby nie ponowić próby migracji, dopóki błąd powodujący problem nie zostanie rozwiązany.

Często zadawane pytania

.: Co należy zrobić, jeśli migracja została w kolejce, ale nie powiodła się i nie otrzymano wiadomości e-mail z następnymi krokami?

Jeśli migracja była w kolejce, ale nie powiodła się i nie otrzymałeś powiadomienia e-mail, wykonaj następujące kroki:

  • Sprawdź dzienniki migracji: Przejrzyj dzienniki migracji pod kątem wszelkich komunikatów o błędach, które mogą wskazywać przyczynę błędu. Dzienniki mogą udostępniać szczegółowe informacje o tym, co poszło nie tak podczas procesu migracji.
  • Wykonaj kroki rozwiązywania problemów: zapoznaj się z krokami rozwiązywania problemów opisanymi w tym przewodniku rozwiązywania problemów z migracją. Te kroki mogą pomóc w zidentyfikowaniu i rozwiązaniu typowych problemów, które być może spowodowały awarię.
  • Skontaktuj się z pomocą techniczną: jeśli błąd jest złożony lub nie możesz rozwiązać problemu, korzystając z logów i kroków rozwiązywania problemów, rozważ zgłoszenie do wsparcia klienta w celu uzyskania dalszej pomocy.
  • Wycofaj i ponów próbę: w razie potrzeby wycofaj wystąpienie usługi Azure DevOps Server i przyłącz kolekcję przed ponowną próbą migracji.