Rozwiązywanie problemów z błędami migracji
Narzędzie do migracji danych flaguje błędy, które należy poprawić przed migracją 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 migracji. Po skorygowaniu każdego błędu ponownie uruchom polecenie weryfikujące migrację, aby zweryfikować rozwiązanie.
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 wystąpią jakiekolwiek z tych ostrzeżeń lub błędów, zalecamy zmniejszenie rozmiaru bazy danych.
Rozmiar bazy danych o zalecanym rozmiarze
Poniższe ostrzeżenie oznacza, że do ukończenia migracji należy użyć metody Usługi SQL Azure maszyny wirtualnej. Gdy baza danych osiągnie określony rozmiar, skonfigurowanie Usługi SQL Azure maszyny wirtualnej w celu ukończenia migracji do usług Azure DevOps Services staje się szybsze. 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 w przypadku migracji.
Rozmiar tabeli powyżej zalecanego rozmiaru
Podobnie jak w przypadku poprzedniego ostrzeżenia, poniższe ostrzeżenie oznacza, że należy użyć metody Usługi SQL Azure Virtual Machine (VM), aby ukończyć migrację. 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 w przypadku migracji.
Rozmiar metadanych bazy danych w zalecanym rozmiarze
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 spowoduje zablokowanie migracji do przodu.
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ązanie problemu z ostrzeżeniami dotyczącymi sortowania
Ostrzeżenia dotyczące sortowania odnoszą się do sortowania bazy danych kolekcji. Sortowania kontrolują sposób sortowania i porównywania wartości ciągów. Kolekcje, które nie używają ani SQL_Latin1_General_CP1_CI_AS
Latin1_General_CI_AS
nie otrzymują jednego z komunikatów ostrzegawczych .
Brak natywnej obsługi
Otrzymanie następującego ostrzeżenia oznacza, że przed przeprowadzeniem migracji należy rozważyć konsekwencje 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óżne kolejność ciągów zawierających znaki inne niż angielskie. 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ę przebiegu testu podczas migracji 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 po uruchomieniu polecenia prepare wymagane jest połączenie internetowe i konwersja sortowania jest weryfikowana w tym czasie.
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 sortowania. Jeśli kolekcja używa jednego z tych sortowania, 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 sortowania w usługach Azure DevOps Services.
Usuwanie błędów tożsamości
Napraw błędy tożsamości przed migracją, aby zapobiec problemom. Są one rzadkie i występują, gdy stare operacje TFS są nieprawidłowe na nowym serwerze Azure DevOps Server. Na przykład niektórzy użytkownicy nie mogą już znajdować się w prawidłowej grupie 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 Kolekcje projektów Prawidłowe użytkownicy i Kolekcja projektów Administracja istratory. System tworzy je domyślnie. Te grupy nie obsługują edytowania swoich uprawnień.
Ten błąd wskazuje, że brakuje uprawnień do posiadania co najmniej jednej grupy. Aby rozwiązać ten błąd, użyj polecenia TFSSecurity.exe , aby zastosować oczekiwane uprawnienia do oflagowanych grup systemowych. Pierwszym krokiem jest zidentyfikowanie polecenia TFSSecurity, które należy uruchomić.
Komunikat o błędzie Prawidłowe użytkownicy 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 naprawić brakujące uprawnienie dla grupy Kolekcje projektów Prawidłowe użytkownicy .
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}
Określasz zakres i identyfikator zabezpieczeń grupy (SID) z komunikatu o błędzie.
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 kolekcji projektów Administracja istratorów
Dokładnie sprawdź komunikaty o błędach wyróżnione narzędzie do migracji danych. Jeśli oflagowana grupa kończąca się ciągiem "0-0-0-0-1", na przykład w poniższym przykładzie, należy naprawić brakujące uprawnienie dla grupy kolekcji projektów Administracja istratorów. Uruchom następujące polecenia względem TFSSecurity.exe, zastąp zakres jednym z komunikatu o błędzie i określ 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 narzędzie do weryfikacji migracji danych, aby zweryfikować rozwiązanie. Jeśli niektóre błędy nadal występują, skontaktuj się z pomocą techniczną usługi Azure DevOps Services.
ISVError: 300005
ISVError: 300005 wskazuje, że tożsamość niegrupowa jest członkiem grupy wszystkich, powszechnie znanej jako prawidłowe grupy 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łowe 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ć prawidłowych grup użytkowników, należy uruchomić instrukcję SQL względem bazy danych konfiguracji, aby usunąć tożsamość powodującą wykroczenie i poprawić nieprawidłowe członkostwo. Dokładnie sprawdź komunikaty o błędach wyróżnione przez narzędzie do migracji danych. Skopiuj wartości GroupSid
, MemberId
i ScopeId
, aby 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 przykład błędu ISVError: 300005 komunikat 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 komunikat o błędzie zawiera listę MemberSid
, musisz pobrać element MemberID
z tabeli dbo.tbl_Identity w bazie danych konfiguracji. Za pomocą polecenia MemberID
można wyszukać identyfikator GUID dla elementu 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 element GroupSid
, MemberId
i 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ńczone polecenie względem bazy danych konfiguracji usługi Azure DevOps Server. Powtórz to polecenie dla każdego zgłoszonego wystąpienia ISVError: 300005. Błędy wsadowe z tym samym identyfikatorem zakresu można umieścić 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 pomocą techniczną usługi Azure DevOps Services.
Ważne
Aby rozwiązać te błędy, należy dołączyć kolekcję.
Jeśli podczas uruchamiania 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 podczas uruchamiania polecenia prepare narzędzia do migracji danych może wystąpić błąd przekroczenia limitu czasu firmy Microsoft.
Exception Message: Request failed (type AadGraphTimeoutException)
Ten błąd oznacza, że przekroczono limit czasu żądań do identyfikatora Entra firmy Microsoft w celu znalezienia pasujących tożsamości firmy Microsoft dla użytkowników w kolekcji. Ogólnie rzecz biorąc, ten błąd można rozwiązać, czekając na uruchomienie polecenia prepare w mniej zajętym czasie dnia, na przykład po regularnych godzinach pracy.
Aby rozwiązać problemy, przetestuj połączenie Microsoft Entra ID z maszyny przygotowywania . 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 swoją 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ą przygotowywania i identyfikatorem Entra firmy Microsoft. Uruchom ślad sieciowy z przygotowaniem , aby sprawdzić, czy sieci blokują wywołania. Jeśli nie, skontaktuj się z pomoc techniczna 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, liczba mapowanych tożsamości może wymagać więcej czasu niż limit czasu. 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 pomocą techniczną usługi Azure DevOps Services.
Usuwanie błędów procesów
Usuwanie błędów dotyczących walidacji pola
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ą funkcji witadmin moż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 i VS403286
Pakiet DACPAC nie jest zbudowany z odłączonej 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 bazę 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łączenie ion 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 i 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 próbę migracji kolejki.
VS403261
Parametry połączenia musi być zaszyfrowany w przeciwnym razie hasło jest wysyłane w czytelny sposób.
VS403261: The SQL connection string must use encryption.
Dodaj wartość Encrypt=true do parametry połączenia SQL.
VS403262
Parametry połączenia musi używać uwierzytelniania SQL.
VS403262: The SQL connection string must use SQL Authentication, Integrated Authentication is not supported.
Dodaj zintegrowane zabezpieczenia =false do parametry połączenia SQL.
VS403263
Konto użytkownika logowania SQL nie ma wymaganej roli bazy 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 polecenia sp_addrolemember
w celu dodania TFSEXECROLE
do istniejącego identyfikatora logowania SQL. Członkostwo w roli nie jest stosowane do momentu zamknięcia wszystkich otwartych połączeń przy użyciu tej tożsamości. 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
Parametry połączenia nie wskazuje bazy 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 wskazuje bazę danych kolekcji.
VS40325
Aktualizacja serwera Usługi Azure DevOps zaktualizowała zadanie migracji plików w kolejce. 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 świadczenia usługi Azure, aby ukończyć migrację do docelowego regionu usługi 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
Wykryto niespójności w niektórych plikach kontroli wersji programu Team Foundation (TFVC) w kolekcji.
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 pomocą techniczną usługi Azure DevOps Services. 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ą Usługi 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:
Sprawdź, czy informacje zostały wprowadzone poprawnie w parametry 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, Ograniczanie dostępu tylko do adresów IP usług Azure DevOps Services.
VS403373
Narzędzie do migracji danych nie obsługuje migrowania wielu kopii tej samej kolekcji. Obsługuje jednak migrowanie podzielonych kopii kolekcji. Zmień identyfikator GUID dla identyfikatora 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 uruchom ponownie polecenie prepare i użyj nowego pliku migration.json do kolejki migracji.
VS403379
Migracja danych kończy się niepowodzeniem, ponieważ co najmniej jeden projekt znaleziony w tej kolekcji znajduje się na etapie usuwania nietrwałego. Przywróć nietrwałe 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. Aby dowiedzieć się, jak przywrócić usunięty projekt, zobacz 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 problemów z błędami 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 sposobu zgłoszenia zgłoszenia do pomocy technicznej klienta. Po przesłaniu zgłoszenia do pomocy technicznej klienta zespół musi wycofać wystąpienie usługi Azure DevOps Server z powrotem w tryb online i ponownie dołą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.