가져오기 및 마이그레이션 오류 문제 해결

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

데이터 마이그레이션 도구는 Azure DevOps Services에 대한 마이그레이션을 수행하기 전에 해결해야 하는 오류에 플래그를 표시합니다. 이 문서에서는 마이그레이션을 준비할 때 발생할 수 있는 가장 일반적인 경고 및 오류에 대해 설명합니다. 각 오류를 수정한 후 마이그레이션기 유효성 검사 명령을 다시 실행하여 해결 방법을 확인합니다.

참고 항목

마이그레이션 가이드사용하여 가져오기를 진행하는 것이 좋습니다. 이 가이드는 필요에 따라 기술 설명서에 연결됩니다.

Azure DevOps Server 2019가 릴리스되면서 TFS(Team Foundation Server) 데이터베이스 가져오기 서비스가 Azure DevOps의 데이터 마이그레이션 도구로 다시 브랜드화되었습니다. 데이터 마이그레이션 도구인 TfsMigrator는 잠시 동안 Migrator로 이름이 바뀌었습니다. 서비스는 여전히 이전 가져오기 서비스와 동일하게 작동합니다. TFS를 브랜딩으로 사용하는 이전 버전의 온-프레미스에 있는 경우 지원되는 버전 중 하나로 업그레이드하는 한 Migrator를 사용하여 Azure DevOps로 마이그레이션할 수 있습니다. 자세한 내용은 Azure DevOps Server에서 Azure DevOps Services로 데이터 마이그레이션을 참조 하세요.

크기 경고 해결

초대형 컬렉션은 데이터 마이그레이션 도구를 실행한 후 다음 메시지 중 하나를 생성할 수 있습니다. 이러한 경고 또는 오류가 발생하는 경우 데이터베이스의 크기를 줄이는 것이 좋습니다.

다음 경고는 SQL Azure VM 메서드를 사용하여 가져오기를 완료해야 하다는 것을 의미합니다. 데이터베이스가 특정 크기에 도달하면 SQL Azure VM을 설정하여 Azure DevOps Services로 가져오기를 완료하는 것이 더 빠릅니다. VM을 설정하고 가져오기를 완료하려면 경고 메시지에서 연결된 지침을 따릅니다.

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

이 경고 는 컬렉션이 가져오기에 너무 크다는 것을 의미하지는 않습니다 .

이전 경고와 마찬가지로 다음 경고는 SQL Azure VM(Virtual Machine) 메서드를 사용하여 가져오기를 완료해야 하다는 것을 의미합니다. 경고 메시지에서 연결된 지침에 따라 VM을 설정하고 가져오기를 완료합니다.

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  

이 경고 는 컬렉션이 가져오기에 너무 크다는 것을 의미하지는 않습니다 .

다음 경고는 데이터베이스가 총 메타데이터 크기의 제한에 근접하고 있음을 의미합니다. 메타데이터 크기는 파일, 코드 및 기타 이진 데이터를 포함하지 않고 데이터베이스의 크기를 나타냅니다. 가져오기 전에 데이터베이스 크기를 줄이는 것이 좋습니다. 크기를 줄이면 가져오기 속도를 높일 수 있는 다른 이점이 있습니다.

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

이 경고 는 컬렉션이 가져오기에 너무 크다는 의미는 아니며 메타데이터 크기가 대부분의 다른 데이터베이스보다 큽니다.

지원되는 최대 크기 이상의 데이터베이스 메타데이터 크기

이전 경고와 달리 다음 오류 는 마이그레이션을 진행하지 못하도록 차단합니다.

컬렉션의 메타데이터 볼륨이 너무 크다는 것을 나타냅니다. 가져오기를 계속하려면 지정된 제한 이하의 크기를 줄여야 합니다.

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

데이터 정렬 경고 해결

데이터 정렬 경고는 컬렉션 데이터베이스의 데이터 정렬을 참조합니다. 데이터 정렬은 문자열 값을 정렬하고 비교하는 방법을 제어합니다. 경고 메시지 중 하나를 SQL_Latin1_General_CP1_CI_AS사용하거나 Latin1_General_CI_AS 수신하지 않는 컬렉션입니다.

네이티브 지원 없음

다음 경고를 받으면 가져오기를 수행하기 전에 데이터 정렬 의미를 고려해야 합니다.

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

이 경고 가 컬렉션을 가져올 수 없다는 의미는 아닙니다 .

이 경고를 사용하려면 경고 수락을 승인해야 합니다. 경고를 수락하면 데이터 마이그레이션 도구에서 가져오기 준비를 계속할 수 있습니다.

지원되지 않는 데이터 정렬을 Azure DevOps Services로 가져오면 데이터 정렬이 지원되는 데이터 정렬로 변환됩니다. 이 변환은 일반적으로 문제 없이 작동하지만 가져오기 또는 가져오기 오류가 발생한 후 예기치 않은 결과가 발생할 수 있습니다.

예를 들어 고객은 영어가 아닌 문자가 포함된 문자열의 순서가 다를 수 있습니다. 'é'와 같은 영어가 아닌 문자는 가져온 후 영어 'e'와 같을 수 있습니다. 지원되지 않는 데이터 정렬을 사용하여 컬렉션을 가져올 때 드라이 런 가져오기를 완료하고 확인하는 것이 중요합니다.

네이티브 지원 없음, 인터넷 연결 없음

데이터 마이그레이션 도구가 인터넷에 연결할 수 없는 경우 데이터 정렬 변환의 유효성을 검사할 수 없습니다. 경고일 뿐이므로 마이그레이션 프로세스를 계속할 수 있습니다. 그러나 prepare 명령을 실행하면 인터넷 연결이 필요하고 데이터 정렬 변환의 유효성이 검사됩니다.

The collections database's collation '{collation}' is not natively supported in Azure DevOps Services. It could not be validated that the collation can be converted during 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

지원되지 않는 데이터베이스 데이터 정렬

일반적으로 지원되지 않는 데이터 정렬을 가져오기 시 지원되는 데이터 정렬로 변환할 수 있습니다. 그러나 일부 데이터 정렬은 변환할 수 없습니다. 컬렉션에서 이러한 데이터 정렬 중 하나를 사용하는 경우 다음 오류 메시지가 표시됩니다.

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

계속하려면 컬렉션의 데이터 정렬Azure DevOps Services에서 지원되는 데이터 정렬 중 하나로 변경해야 합니다.

ID 오류 해결

문제를 방지하기 위해 마이그레이션 전에 ID 오류를 수정합니다. 이러한 작업은 드물며 새 Azure DevOps Server에서 이전 TFS 작업이 유효하지 않은 경우에 발생합니다. 예를 들어 일부 사용자는 더 이상 유효한 사용자 그룹에 있을 수 없습니다.

다음 섹션에서는 가장 일반적인 ID 오류를 해결하기 위한 지침을 제공합니다.

ISVError: 100014

이 오류는 시스템 보안 그룹에서 권한이 없음을 나타냅니다. 예를 들어 만드는 모든 컬렉션에는 Project Collection Valid Users 및 Project Collection 관리istrators 그룹이 있습니다. 시스템은 기본적으로 만듭니다. 이러한 그룹은 사용 권한 편집을 지원하지 않습니다.

이 오류는 하나 이상의 그룹에 필요한 권한이 누락되었음을 나타냅니다. 이 오류를 해결하려면 TFSSecurity.exe 명령을 사용하여 플래그가 지정된 시스템 그룹에 필요한 권한을 적용합니다. 첫 번째 단계는 실행해야 하는 TFSSecurity 명령을 식별하는 것입니다.

Project Collection 유효한 사용자 오류 메시지

데이터 마이그레이션 도구가 강조 표시된 오류 메시지를 검사합니다. 다음 예제와 같이 플래그가 지정된 그룹이 "0-0-0-0-3"으로 끝나는 경우 프로젝트 컬렉션 유효한 사용자 그룹에 대한 누락된 권한을 수정해야 합니다.

다음 명령을 실행하고, 범위를 오류 메시지의 범위로 바꾸고, 컬렉션 URL을 지정합니다.

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

오류 메시지에서 범위 및 그룹 SID(보안 ID)를 결정합니다.

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

마지막 명령은 다음 항목과 유사하게 표시됩니다.

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

Project Collection 관리istrators 오류 메시지

데이터 마이그레이션 도구가 강조 표시된 오류 메시지를 주의 깊게 검토합니다. 다음 예제와 같이 "0-0-0-0-1"로 끝나는 플래그가 지정된 그룹인 경우 Project Collection 관리istrators 그룹에 대한 누락된 권한을 수정해야 합니다. TFSSecurity.exe 대해 다음 명령을 실행하고, 범위를 오류 메시지의 범위로 바꾸고, 컬렉션을 지정합니다.

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

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

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

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

다음 예제에서는 오류 메시지에서 범위 및 그룹을 SID 가져와서 이전 명령에 추가합니다.

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

마지막 명령은 다음 항목과 유사하게 표시됩니다.

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

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

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

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

여러 오류를 수정해야 하는 경우 명령 실행을 자동화하는 일괄 처리 파일을 만드는 것이 좋습니다. 명령을 실행한 후에는 데이터 마이그레이션 유효성 검사 도구를 다시 실행하여 해결 방법을 확인해야 합니다. 일부 오류가 계속 지속되면 Azure DevOps Services 고객 지원에 문의하세요.

ISVError: 300005

ISVError: 300005 그룹 ID가 모든 사용자 그룹의 구성원임을 나타내며, 더 일반적으로 유효한 사용자 그룹이라고도 합니다. 유효한 사용자 그룹은 모든 프로젝트 및 컬렉션에 대해 정의된 기본 그룹입니다. 이러한 그룹은 편집할 수 없습니다. 다른 Azure DevOps 권한 또는 보안 그룹만 멤버로 포함하도록 설계되었습니다. 이 오류는 AD(Active Directory) 그룹 또는 사용자 ID에 유효한 사용자 그룹의 직접 멤버 자격이 있음을 나타냅니다.

Important

오류를 해결하기 위해 다음 명령을 실행하기 전에 컬렉션 및 구성 데이터베이스의 백업이 있는지 확인합니다.

유효한 사용자 그룹을 직접 편집할 수 없으므로 구성 데이터베이스에 대해 SQL 문을 실행하여 잘못된 ID를 제거하고 잘못된 멤버 자격을 수정해야 합니다. 데이터 마이그레이션 도구에서 강조 표시된 오류 메시지를 주의 깊게 검토합니다. GroupSidMemberId복사하고 ScopeId 다음 명령에 이러한 값을 배치해야 합니다.

DECLARE @p6 dbo.typ_GroupMembershipTable

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

다음 예제에서는 ISVError의 예를 나열합니다. 데이터 마이그레이션 도구의 300005 메시지입니다.

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

오류 메시지에 나열된 MemberSid경우 구성 데이터베이스의 MemberID dbo.tbl_Identity 테이블에서 가져와야 합니다. 를 MemberID사용하여 .에 대한 GUID를 조회할 MemberSid수 있습니다.

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

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

SELECT @MemberId

GroupSidMemberId복사하고 ScopeId SQL 명령에 복사합니다.


DECLARE @p6 dbo.typ_GroupMembershipTable

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

Azure DevOps Server 구성 데이터베이스에 대해 완료된 명령을 실행합니다. 보고된 각 ISVError: 300005 인스턴스에 대해 이 명령을 반복합니다. 동일한 범위 ID의 오류를 단일 명령으로 일괄 처리할 수 있습니다. 명령을 실행한 후에는 데이터 마이그레이션 도구의 유효성을 다시 검사하여 오류가 수정되었는지 확인합니다. 오류가 계속 지속되면 Azure DevOps Services 고객 지원에 문의하세요.

Important

이러한 오류를 해결하려면 컬렉션을 연결해야 합니다.

명령을 실행할 때 -1 결과가 표시되는 경우 오류를 생성한 컬렉션 데이터베이스가 Azure DevOps Server 인스턴스에 연결되고 구성 데이터베이스에서 명령을 실행하고 있는지 확인합니다.

Microsoft Entra 시간 제한 예외

드물게 데이터 마이그레이션 도구 준비 명령을 실행할 때 Microsoft Entra 시간 제한 오류가 발생할 수 있습니다.

Exception Message: Request failed (type AadGraphTimeoutException)

이 오류는 컬렉션의 사용자에 대해 일치하는 Microsoft Entra ID를 찾기 위한 Microsoft Entra ID에 대한 요청 시간이 초과됨을 의미합니다. 일반적으로 일반 업무 시간 이후와 같이 사용량이 적은 시간에 준비 명령을 실행하기 위해 대기하여 이 오류를 해결할 수 있습니다.

문제를 해결하려면 준비 컴퓨터에서 Microsoft Entra ID 연결을 테스트합니다. 다음 단계에 따라 Microsoft Entra ID에서 사용자 정보를 가져옵니다.

관리자 권한 모드에서 PowerShell을 열고 다음 명령의 'someone@somecompany.com'를 Microsoft Entra 사용자 ID로 바꿉다.

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

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

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

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

단계가 실패하거나 사용자를 찾을 수 없는 경우 준비 컴퓨터와 Microsoft Entra ID 간의 연결을 검사. 네트워크 추적을 실행하여 네트워크가 호출을 차단하는지 확인합니다 . 그렇지 않은 경우 Azure 지원 문의하세요. 로그 파일에서 사용자 정보를 확인합니다.

Number of active users is {Number of Users}.

활성 사용자 수가 50,000명 이상인 경우 매핑되는 ID 볼륨에 시간 제한에서 제공하는 것보다 더 많은 시간이 필요할 수 있습니다. 컬렉션에서 '모든 사용자' 그룹과 같은 대규모 그룹이 포함되도록 검사합니다. 가능하면 이러한 그룹을 제거하고 다시 시도합니다. 이 오류를 여전히 해결할 수 없는 경우 Azure DevOps Services 고객 지원에 문의하세요.

프로세스 오류 해결

일반적인 프로세스 오류 해결에 대한 자세한 내용은 별도의 프로세스 템플릿 페이지를 참조하세요.

필드 유효성 검사 오류 해결

VS403310

컬렉션 파일의 불일치가 감지되면 다음 오류 메시지가 발생할 수 있습니다. 이 오류가 발생하면 고객 지원에 문의하세요.

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

VS403442

로컬 컬렉션과 Azure DevOps Services 시스템 필드 간에 필드 이름 충돌이 발생하는 경우가 있습니다.

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

이 오류를 해결하려면 컬렉션 필드의 이름을 변경합니다. witadmin의 witadmin changefield 명령을 사용합니다.

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

VS403443

다음 오류는 로컬 컬렉션과 특정 Azure DevOps Services 필드 간에 필드 이름 충돌이 있음을 나타냅니다.

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

이 오류를 해결하려면 witadmin changefield 명령을 사용합니다. 자세한 내용은 witadmin을 참조하세요.

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

VS403444

다음 오류는 로컬 컬렉션과 Azure DevOps Services 간에 필드 형식 충돌이 있음을 나타냅니다.

witadmin을 사용하면 HTML 또는 PlainText 필드에 대해서만 데이터 형식을 변경할 수 있습니다.

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

필드 형식이 HTML 또는 PlainText인 경우 해당 형식을 필수 형식으로 변경할 수 있습니다.

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

참고 항목

필드 형식이 HTML 또는 PlainText와 다르고 필드 데이터가 중요하지 않거나 해당 필드가 프로젝트에서 사용되지 않는 경우 필드를 삭제하는 것이 좋습니다.

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

Important

필드를 삭제하면 컬렉션 전체에서 필드 데이터가 손실됩니다.

가져오기 오류 해결

가져오기 중에 발생하는 오류는 확인 실패 및 가져오기 실패라는 두 가지 범주 중 하나에 속합니다.

확인 실패

확인 실패는 가져오기가 시작되지 않았음을 의미합니다. 데이터 마이그레이션 도구가 가져오기를 큐에 대기하려고 했지만 대신 오류가 발생했습니다. 가져오기 요청이 잘못되었습니다. 오류 메시지를 수정한 다음 다시 가져오십시오.

VS403254

Azure DevOps Services 가져오기를 위해 입력한 지역은 지원되지 않습니다.

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

가져오기 사양 파일을 열고 해당 지역에 대한 올바른 짧은 이름으로 제공한 지역을 업데이트합니다.

VS403249

팀이 선택한 조직 이름은 기존 조직에서 이미 사용 중입니다. 모든 Azure DevOps Services 가져오기는 가져오기 시 만들어지는 새 조직으로 이동합니다.

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

가져오기를 다시 시도하기 전에 다른 조직 이름을 선택하고 가져오기 사양 파일을 업데이트합니다.

VS403250 &VS403286

DACPAC는 분리된 컬렉션에서 빌드되지 않습니다.

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

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

컬렉션 데이터베이스를 분리 하고 DACPAC를 다시 생성합니다.

VS403243

제공된 SQL 커넥트ion String을 사용하여 데이터베이스에 연결할 수 없습니다.

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

제공된 매개 변수를 검토하여 올바른지 확인하고 다시 시도합니다.

VS403260 및 VS403351

컬렉션 데이터베이스가 분리되지 않습니다.

VS403260: The database is not detached.

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

컬렉션 데이터베이스를 분리 하고 가져오기 큐를 다시 시도합니다.

VS403261

연결 문자열 암호화해야 합니다. 그렇지 않으면 암호가 명확하게 전송됩니다.

VS403261: The SQL connection string must use encryption.

SQL 연결 문자열 Encrypt=true를 추가합니다.

VS403262

연결 문자열 SQL 인증을 사용해야 합니다.

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

SQL 연결 문자열 통합 보안=False를 추가합니다.

VS403263

SQL 로그인 사용자 계정에 필요한 데이터베이스 역할이 없습니다.

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

로그인할 사용자 계정에 'TFSEXECROLE' 역할이 할당되어 있는지 확인합니다.

참고 항목

기존 SQL 로그인에 추가하는 TFSEXECROLE 데 사용할 sp_addrolemember 때 알려진 문제가 있습니다. 역할 멤버 자격은 해당 ID를 사용하여 열려 있는 모든 연결이 닫혀야 적용됩니다. VS403263 오류가 표시되고 ID에 역할이 있음을 확인한 경우 가져오기에 대한 새 ID를 만드는 것이 좋습니다. 가져오기에 사용할 준비가 된 새 SQL 로그인을 만드는 방법에 대한 자세한 내용은 큰 컬렉션 가져오기에서 찾을 수 있습니다.

VS403264

연결 문자열 Azure DevOps Server 컬렉션 데이터베이스를 가리키지 않습니다.

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

컬렉션 데이터베이스를 가리키는 연결 문자열 확인하거나 수정합니다.

VS40325

Azure DevOps 서버 업데이트에서 파일 마이그레이션 작업을 대기했습니다. 이 작업이 완료될 때까지 가져오기를 수행할 수 없습니다. 이 작업의 완료 시간은 컬렉션의 크기에 따라 달라집니다.

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

컬렉션 데이터베이스에서 다음 쿼리를 실행하여 작업 진행률을 추적할 수 있습니다.

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

다시 마이그레이션할 파일 수기본이 0이 되면 데이터 마이그레이션 도구를 실행할 수 있습니다.

VS403282

원본 위치 값에 새 줄 문자가 있습니다. 이 문자는 Windows 콘솔에서 SAS 키를 복사한 후 다시 기본 수 있습니다.

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.

줄 바꿈을 제거하고 다시 시도합니다.

VS403271

가져오기 파일 및 DACPAC는 대상 Azure DevOps Services 지역으로 가져오기를 완료하는 데 필요한 Azure 지역에 없습니다.

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.

필요한 지역에 새 Microsoft Azure Storage 계정을 만들고 파일을 복사합니다. 다음 예제에서는 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

컬렉션 내의 일부 TFVC(Team Foundation 버전 제어) 파일에서 불일치가 발견되었습니다.

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.

Azure DevOps Services 고객 지원과 함께 작업합니다. 지원 티켓을 열고 오류 해결을 위해 함께 작동합니다.

VS403366

데이터 마이그레이션 도구가 SQL Azure VM에 연결할 수 없습니다.

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:

연결 문자열 정보를 올바르게 입력했으며 VM에 연결할 수 있는지 확인합니다.

오류 메시지 목록이 Azure DevOps Services에 대한 IP입니다. Azure DevOps Services IP는 배포 중에 일시적으로 변경할 수 있습니다. 방화벽 예외에 추가하고 가져오기를 다시 큐에 넣습니다. IP 주소 목록은 큰 컬렉션 가져오기, Azure DevOps Services IP에 대한 액세스만 제한을 참조 하세요.

VS403373

데이터 마이그레이션 도구는 동일한 컬렉션의 여러 복사본 가져오기를 지원하지 않습니다. 그러나 컬렉션의 분할 복사본 가져오기를 지원합니다. DataImportCollectionID의 GUID를 변경합니다.

SSMS(SQL Server Management Studio)에서 아직 가져오지 않은 분할 복사본에 대한 확장 속성을 엽니다. 새로 생성된 GUID를 "TFS_DATAIMPORT_COLLECTIONID" 속성에 추가합니다. 그런 다음 준비 명령을 다시 실행하고 import.json 파일을 사용하여 가져오기를 큐에 추가합니다.

VS403379

이 컬렉션에 있는 하나 이상의 프로젝트가 일시 삭제 단계에 있으므로 데이터 가져오기가 실패합니다. 일시 삭제된 프로젝트를 복원하거나 데이터 가져오기를 실행하기 전에 영구적으로 삭제합니다. 자세한 내용은 프로젝트 삭제를 참조 하세요.

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.

데이터 마이그레이션 도구를 실행 중인 컬렉션에 일시 삭제된 단계의 프로젝트가 있는지 확인합니다. 프로젝트가 삭제되면 삭제된 프로젝트를 복원할 수 있는 동안 28일 동안 일시 삭제 상태로 다시 기본. 프로젝트 복원에서 삭제된 프로젝트를 복원하는 방법에 대해 읽을 수 있습니다. 일시 삭제된 단계에 프로젝트가 있는 경우 데이터 가져오기를 실행하기 전에 프로젝트를 완전히 제거하거나 다시 복원합니다.

가져오기 실패

가져오기 실패는 가져오기가 대기 중이지만 완료되지 않았음을 의미합니다. 가져오기를 대기한 개인은 오류 전자 메일 알림을 받습니다. 대부분의 경우 이 전자 메일에는 실패 이유가 포함됩니다. 이 경우 전자 메일 및 이 페이지에 제공된 문제 해결 단계를 사용하여 오류를 해결하고 가져오기를 다시 시도합니다.

오류가 더 복잡한 경우 받은 전자 메일은 고객 지원 사례를 제출하는 방법에 대한 지침을 제공합니다. 고객 지원 사례를 제출한 후 팀은 Azure DevOps Server 인스턴스를 다시 온라인으로 가져와서 롤백하고 컬렉션을 다시 연결해야 합니다. 그러면 팀원들이 계속 작업할 수 있습니다. 문제를 일으키는 오류가 해결될 때까지 가져오기를 다시 시도하지 않는 것이 좋습니다.