Azure SQL Database를 확장할 때 실제로 어떤 일이 일어날까요? 장기 실행 확장 작업을 모니터링하는 방법
Azure SQL Database는 인프라 관리 없이 원활한 컴퓨팅 확장을 제공합니다. 확장 작업은 vCore 조정 이상의 작업을 포함하며, 새 컴퓨팅 프로비저닝, 데이터 준비, 연결 전환, 이전 환경 정리 등을 포함합니다. 확장 작업에 소요되는 시간은 두 데이터베이스 간에 동일해 보이는 변경 사항에 대해서도 상당히 다를 수 있습니다.데이터베이스 크기는 주요 요인으로, 더 큰 데이터베이스는 대상 컴퓨팅에서 더 많은 데이터 준비가 필요합니다. 데이터베이스의 활성 워크로드는 확장 기간에 영향을 줄 수 있으며, 대상 환경 준비 중에 데이터베이스는 온라인 상태를 유지합니다. 전환 시점에 발생하는 장기 실행 트랜잭션은 연결 전환을 지연시키고 작업을 연장할 수 있습니다. Azure SQL 내의 리소스 가용성은 작업이 보류 상태로 들어가 전체 시간을 늘릴 수 있습니다.확장 작업은 Azure PowerShell의 Get-AzSqlDatabaseActivity 및 Get-AzSqlDatabase cmdlet을 사용하여 모니터링할 수 있습니다. sys.dm_operation_status DMV는 PENDING 및 IN_PROGRESS와 같은 작업 상태에 대한 SQL 측면 보기를 제공합니다. sys.dm_operation_status의 PercentComplete 열은 일반적으로 확장 작업의 세분화된 진행률보다는 작업 상태를 나타냅니다.확장 중에는 데이터베이스가 계속 사용 가능하며, 전환까지 원래 컴퓨팅으로 연결이 계속됩니다. 전환 자체는 짧은 중단을 유발하며, 애플리케이션은 재시도 로직을 구현해야 합니다. 느린 확장 작업이 반드시 실패를 의미하는 것은 아니며, 복잡한 준비 단계를 처리하고 있을 수 있습니다. 문제 해결에는 정확한 변경 사항 확인, 데이터베이스 크기 비교, 워크로드 활동, 장기 실행 트랜잭션 확인 등이 포함됩니다.