다음을 통해 공유


Azure SQL Managed Instance에서 패브릭 미러된 데이터베이스 문제 해결

이 문서에서는 Azure SQL Managed Instance를 미러링하기 위한 문제 해결 단계를 설명합니다.

Fabric 용량 또는 작업 영역 변경

패브릭 용량 또는 작업 영역의 변경 내용은 미러링에 영향을 줄 수 있습니다. 자세한 내용은 패브릭 용량 변경 사항이 미러링에 미치는 영향을 검토하세요.

Azure SQL Managed Instance 문제 해결

원인 결과 권장 솔루션
작업 영역이 삭제됨 미러링이 자동으로 중지되고 Azure SQL Managed Instance에서 변경 피드를 사용하지 않도록 설정 Azure SQL Managed Instance에서 미러링이 여전히 활성 상태인 경우 Azure SQL Managed exec sp_change_feed_disable_db;Instance의 영향을 받는 각 데이터베이스에 대해 다음 저장 프로시저를 실행합니다.
영구 오류 영향을 받는 데이터베이스에 대해 미러링을 사용할 수 없습니다. 컴퓨팅 리소스가 영향을 받지 않도록 하고 Azure SQL Managed Instance에서 원본 데이터베이스를 보호하기 위해 영구 오류 시 미러링이 비활성화됩니다. 미러링을 위해 데이터베이스를 다시 사용하도록 설정하기 전에 sys.dm_change_feed_errors 검토하고 기본 오류를 해결합니다.
"사용자가 Fabric 외부의 앱을 사용하여 OneLake에 저장된 데이터에 액세스할 수 있습니다." 설정이 비활성화됨 "복제자 - 테이블이 복제 상태에 도달할 수 없음" 테넌트 설정을 사용하도록 사용자가 Fabric외부의 앱을 사용하여 OneLake에 저장된 데이터에 액세스할 수 있습니다.

문제 해결을 위한 T-SQL 쿼리

미러링 문제가 발생하는 경우 DMV(동적 관리 뷰) 및 저장 프로시저를 사용하여 다음 데이터베이스 수준 검사를 수행하여 구성의 유효성을 검사합니다.

  1. 다음 쿼리를 실행하여 변경 내용이 제대로 작동하는지 확인합니다.

    SELECT * FROM sys.dm_change_feed_log_scan_sessions;
    
  2. sys.dm_change_feed_log_scan_sessions DMV에 증분 변경 처리 진행률이 표시되지 않는 경우 다음 T-SQL 쿼리를 실행하여 보고된 문제가 있는지 확인합니다.

    SELECT * FROM sys.dm_change_feed_errors;
    
  3. 보고된 문제가 없는 경우 다음 저장 프로시저를 실행하여 미러된 Azure SQL Managed Instance의 현재 구성을 검토합니다. 제대로 사용하도록 설정되었는지 확인합니다.

    EXEC sp_help_change_feed;
    

    여기에서 찾을 키 열은 table_namestate입니다. 4 외에 모든 값은 잠재적인 문제를 나타냅니다. (테이블은 다른 4 상태에서 오래 유지되어서는 안 됩니다.)

  4. 복제가 여전히 작동하지 않는 경우 올바른 SAMI 개체에 사용 권한이 있는지 확인 합니다(SAMI 권한 참조).

    1. 패브릭 포털에서 미러된 데이터베이스 항목에 대해 '...' 줄임표 옵션을 선택합니다.
    2. 사용 권한 관리 옵션을 선택합니다.
    3. Azure SQL Managed Instance 이름이 읽기, 쓰기 권한으로 표시되는지 확인합니다.
    4. 표시되는 AppId가 Azure SQL Managed Instance의 SAMI ID와 일치하는지 확인합니다.
  5. 문제 해결이 필요한 경우 고객 지원에 문의하세요.

관리형 아이덴티티

Azure SQL Managed Instance의 SAMI(시스템 할당 관리 ID)를 사용하도록 설정해야 하며 기본 ID여야 합니다.

사용 후 SAMI 설정 상태가 꺼져 있거나 처음에 사용하도록 설정된 다음 사용하지 않도록 설정한 다음 다시 사용하도록 설정하면 Azure SQL Managed Instance를 Fabric OneLake로 미러링하지 못합니다. 다시 사용하도록 설정한 후의 SAMI는 사용하지 않도록 설정하기 전과 동일한 ID가 아닙니다. 따라서 패브릭 작업 영역에 액세스하려면 새 SAMI 권한을 부여해야 합니다.

SAMI가 기본 ID여야 합니다. SAMI가 다음 SQL을 사용하여 기본 ID인지 확인합니다. SELECT * FROM sys.dm_server_managed_identities;

UAMI(사용자 할당 관리 ID)는 지원되지 않습니다. UAMI를 추가하면 기본 ID가 되어 SAMI를 기본 ID로 대체합니다. 이로 인해 복제가 실패합니다. 해결하려면:

  • 모든 UAMI를 제거합니다. SAMI가 사용하도록 설정되어 있는지 확인합니다.

SAMI 권한

Azure SQL Managed Instance의 SAMI(시스템 할당 관리 ID)에는 Microsoft Fabric의 미러된 데이터베이스 항목에 대한 읽기쓰기 권한이 있어야 합니다. 패브릭 포털에서 미러된 데이터베이스를 만들면 사용 권한이 자동으로 부여됩니다. 설치 중에 오류가 Unable to grant required permission to the source server. User does not have permission to reshare 발생하는 경우 충분한 권한이 있는 작업 영역에 구성원 또는 관리자 역할이 있는지 확인합니다. API를 사용하여 미러된 데이터베이스를 만드는 경우 명시적으로 권한을 부여해야 합니다.

패브릭 미러된 데이터베이스 항목에 대한 SAMI 읽기쓰기 권한을 제거하지 마세요. 실수로 사용 권한을 제거하면 Azure SQL Managed Instance 미러링이 예상대로 작동하지 않습니다. 원본 데이터베이스에서 새 데이터를 미러링할 수 없습니다.

Azure SQL Managed Instance SAMI 권한을 제거하거나 권한이 올바르게 설정되지 않은 경우 다음 단계를 사용합니다.

  1. 미러된 관리되는 인스턴스 항목에서 줄임표 옵션을 선택하여 ... SAMI를 사용자로 추가합니다.
  2. 사용 권한 관리 옵션을 선택합니다.
  3. Azure SQL Managed Instance 퍼블릭 엔드포인트를 입력합니다. 읽기쓰기 권한을 제공합니다.

로그 사용량

미러링을 사용하도록 설정된 데이터베이스에 대한 트랜잭션 로그 사용량은 계속 증가하고 로그 잘림을 유지할 수 있습니다. 트랜잭션 로그 크기가 정의된 최대 한도에 도달하면 데이터베이스에 대한 쓰기가 실패합니다. 이를 방지하기 위해, 사용된 로그 공간이 구성된 총 로그 공간의 임계값을 초과하면 미러링이 전체 데이터베이스의 자동 재생성을 유발합니다. 이를 진단하고 Fabric 미러된 데이터베이스의 자동 다시 시딩에 대해 알아보려면 Azure SQL Managed Instance에서 제공하는 Fabric 미러된 데이터베이스의 자동 다시 시딩을 참조하세요.

다시 시딩이 자동으로 시작됨

Azure SQL Managed Instance의 패브릭 미러링이 개별 테이블 수준 또는 전체 데이터베이스에 대해 특정 조건 하에서 자동으로 다시 설정할 수 있습니다. 더 자세히 알아보고자 하시면, Azure SQL Managed Instance에서 Fabric 미러된 데이터베이스에 대한 자동 재시드 기능을 확인하십시오.