Rozwiązywanie problemów z błędami importowania i migracji

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Narzędzie do migracji danych oflagowuje błędy, które należy poprawić przed przeprowadzeniem migracji do usługi 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.

Uwaga

Zalecamy użycie przewodnika migracji w celu postępu importowania. Przewodnik zawiera linki do dokumentacji technicznej zgodnie z potrzebami.

Wraz z wydaniem usługi Azure DevOps Server 2019 usługa importu bazy danych Team Foundation Server (TFS) została ponownie oznaczona jako narzędzie do migracji danych dla usługi Azure DevOps. Nazwa narzędzia do migracji danych TfsMigrator została zmieniona na w skrócie Migrator. Usługa nadal działa dokładnie tak samo jak poprzednia usługa importu. Jeśli korzystasz ze starszej wersji lokalnej z programem TFS jako marką, nadal możesz użyć narzędzia Migrator do migracji do usługi Azure DevOps, o ile uaktualnisz do jednej z obsługiwanych wersji. Aby uzyskać szczegółowe informacje, zobacz Migrowanie danych z usługi Azure DevOps Server do usług Azure DevOps Services.

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.

Poniższe ostrzeżenie oznacza, że do ukończenia importowania należy użyć metody Usługi SQL Azure maszyny wirtualnej. Gdy baza danych osiągnie określony rozmiar, staje się szybsze, aby skonfigurować maszynę wirtualną Usługi SQL Azure w celu ukończenia importowania do usług Azure DevOps Services. Aby skonfigurować maszynę wirtualną i ukończyć importowanie, 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 import method. Please see the following page to learn how to import using a SQL Azure VM: https://aka.ms/AzureDevOpsImportLargeCollection

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

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ć importowanie. Postępuj zgodnie z instrukcjami połączonymi z komunikatem ostrzegawczym, aby skonfigurować maszynę wirtualną i ukończyć importowanie.

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

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

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 zaimportowaniem. Zmniejszenie rozmiaru zapewnia drugą korzyść z przyspieszenia importowania.

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 zaimportowania, a jego 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ć importowanie, 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_ASLatin1_General_CI_AS nie otrzymują jednego z komunikatów ostrzegawczych .

Brak natywnej obsługi

Otrzymanie następującego ostrzeżenia oznacza, że przed wykonaniem importu 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 zaimportować kolekcji.

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

Podczas importowania 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 importowaniu lub niepowodzeniu importu.

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 angielskim znakom "e" po zaimportowaniu. Ważne jest, aby ukończyć importowanie suchego przebiegu podczas importowania 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 import 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 importowania. 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 import 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 poleceń TFSSecurity, które należy uruchomić.

Komunikat o błędzie Prawidłowe użytkownicy kolekcji projektu

Sprawdź komunikaty o błędach wyróżnione 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ń należy ponownie uruchomić narzędzie do sprawdzania poprawności 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, MemberIdi 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 MemberIDmoż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, 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ń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 może wystąpić błąd przekroczenia limitu czasu firmy Microsoft podczas uruchamiania polecenia przygotowywania narzędzia do migracji danych.

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

Zobacz oddzielną stronę Szablony procesów , aby uzyskać szczegółowe informacje na temat rozwiązywania typowych 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.

Usuwanie błędów dotyczących importowania

Błędy występujące podczas importowania należą do jednej z dwóch kategorii, niepowodzenia weryfikacji i niepowodzenia importowania.

Niepowodzenia weryfikacji

Niepowodzenia weryfikacji oznaczają, że importowanie nie zostało uruchomione. Narzędzie do migracji danych próbowało utworzyć kolejkę importu, ale zamiast tego wystąpił błąd. Twoje żądanie importu jest nieprawidłowe. Napraw komunikaty o błędach, a następnie spróbuj zaimportować ponownie.

VS403254

Region wprowadzony na potrzeby importowania 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 importu i zaktualizuj podany region przy użyciu poprawnej krótkiej nazwy regionu.

VS403249

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

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

Wybierz inną nazwę organizacji i zaktualizuj plik specyfikacji importu przed ponowieniu próby zaimportowania.

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ę zaimportowania 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 dla importu. Szczegółowe informacje na temat tworzenia nowego identyfikatora logowania SQL, który jest gotowy do zaimportowania, można znaleźć w artykule Import large collections (Importowanie dużych kolekcji).

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

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 wykonać importów, 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 mógł 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 import specification file.

Usuń podział wiersza i spróbuj ponownie.

VS403271

Pliki importu i pakiet DACPAC nie znajdują się w wymaganym regionie świadczenia usługi Azure, aby ukończyć importowanie 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 import put their DACPACs in Central US. Please move your DACPAC to Central US and requeue the import.

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 an import 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żesz 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 importu. Aby uzyskać listę adresów IP, zobacz Importowanie 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 importowania wielu kopii tej samej kolekcji. Obsługuje jednak importowanie 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 zaimportowane. Dodaj nowo wygenerowany identyfikator GUID do właściwości "TFS_DATAIMPORT_COLLECTIONID". Następnie uruchom ponownie polecenie prepare i użyj nowego pliku import.json do kolejki importu.

VS403379

Importowanie danych kończy się niepowodzeniem, ponieważ co najmniej jeden projekt znaleziony w tej kolekcji znajduje się na etapie usuwania nietrwałego. Przywróć nietrwałe usunięte projektu lub usuń je trwale przed uruchomieniem importu danych. Aby uzyskać szczegółowe informacje, zobacz Usuwanie projektu.

VS403379: Data import 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 import.

Sprawdź, czy kolekcja, na 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 importowania danych.

Niepowodzenia importowania

Błędy importu oznaczają, że importowanie zostało w kolejce, ale nie zostało ukończone. Osoba, która utworzyła kolejkę importu, 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ę zaimportowania.

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 zaimportowania, dopóki błąd powodujący problem nie zostanie rozwiązany.