이 항목에서는 Microsoft Azure에 대한 SQL Server Managed Backup 작업 중에 발생할 수 있는 오류를 해결하는 데 사용할 수 있는 작업 및 도구에 대해 설명합니다.
개요
Microsoft Azure에 대한 SQL Server Managed Backup은 검사 및 문제 해결을 기본 제공하므로 대부분의 경우 MICROSOFT Azure 프로세스에 대한 SQL Server Managed Backup에서 내부 오류를 처리합니다.
이러한 경우 중 하나는 백업 파일을 삭제하여 복구 가능성에 영향을 주는 로그 체인의 중단을 초래하는 경우입니다. Microsoft Azure에 대한 SQL Server 관리되는 백업은 로그 체인의 중단을 식별하고 백업을 즉시 수행하도록 예약합니다. 그러나 상태를 모니터링하고 수동 개입이 필요한 오류를 해결하는 것이 좋습니다.
Microsoft Azure에 대한 SQL Server Managed Backup은 시스템 저장 프로시저, 시스템 뷰 및 확장 이벤트를 사용하여 이벤트 및 오류를 기록합니다. 시스템 보기 및 저장 프로시저는 Microsoft Azure 구성 정보, 백업 예약된 백업의 상태 및 확장 이벤트에서 캡처한 오류에 대한 SQL Server Managed Backup을 제공합니다. Microsoft Azure에 대한 SQL Server Managed Backup은 확장 이벤트를 사용하여 문제 해결에 사용할 오류를 캡처합니다. 로깅 이벤트 외에도 SQL Server 스마트 관리 정책은 이메일 알림 작업에서 오류 및 문제에 대한 알림을 제공하는 데 사용되는 상태 정보를 제공합니다. 자세한 내용은 Azure에 대한 SQL Server 관리되는 백업 모니터링을 참조하세요.
또한 Microsoft Azure에 대한 SQL Server Managed Backup은 Azure Storage에 수동으로 백업할 때 사용되는 것과 동일한 로깅을 사용합니다(URL에 SQL Server 백업). URL 관련 문제에 대한 백업에 대한 자세한 내용은 SQL Server 백업에서 URL 모범 사례로의 문제 해결 섹션 및 문제 해결을 참조하세요.
일반 문제 해결 단계
전자 메일 알림을 사용하여 오류 및 경고에 대한 전자 메일 수신을 시작합니다.
또는 주기적으로 실행
smart_admin.fn_get_health_status하여 집계된 오류 및 개수를 확인할 수도 있습니다. 예를 들어number_of_invalid_credential_errors스마트 백업에서 백업을 시도했지만 잘못된 자격 증명 오류가 발생한 횟수입니다.Number_of_backup_loops오류number_of_retention_loops는 아니지만 백업 스레드 및 보존 스레드가 데이터베이스 목록을 검색한 횟수를 나타냅니다. 일반적으로 @begin_time와 @end_time가 제공되지 않은 경우, 함수는 지난 30분 동안의 정보를 표시합니다. 그런 경우 이 두 열에 대해 일반적으로 0이 아닌 값이 표시됩니다. 0이면 시스템 오버로드 또는 시스템이 응답하지 않음을 의미합니다. 자세한 내용은 이 항목의 뒷부분에 있는 시스템 문제 해결 섹션을 참조하세요.확장 이벤트 로그를 검토하여 오류 및 기타 관련 이벤트에 대한 자세한 내용을 알아봅니다.
로그의 정보를 사용하여 문제를 해결합니다. 시스템 문제 또는 오류의 경우 서비스 또는 SQL Server 에이전트를 다시 시작해야 할 수 있습니다.
일반적인 오류 원인
다음은 오류가 발생하는 일반적인 원인 목록입니다.
SQL 자격 증명의 변경 내용: MICROSOFT Azure에 대한 SQL Server Managed Backup에서 사용하는 자격 증명의 이름이 변경되거나 삭제된 경우 Microsoft Azure에 대한 SQL Server Managed Backup은 백업을 수행할 수 없습니다. 변경 내용은 Microsoft Azure 구성 설정에 대한 SQL Server Managed Backup에 적용되어야 합니다.
스토리지 액세스 키 값 변경: Azure 계정에 대한 스토리지 키 값이 변경되었지만 SQL 자격 증명이 새 값으로 업데이트되지 않은 경우 스토리지에 인증할 때 MICROSOFT Azure에 대한 SQL Server Managed Backup이 실패하고 이 계정을 사용하도록 구성된 데이터베이스를 백업하지 못합니다.
Azure Storage 계정 변경 내용: SQL 자격 증명을 변경하지 않고 스토리지 계정을 삭제하거나 이름을 바꾸면 Microsoft Azure에 대한 SQL Server Managed Backup이 실패하고 백업이 수행되지 않습니다. 스토리지 계정을 삭제하는 경우 데이터베이스가 유효한 스토리지 계정 정보로 다시 구성되었는지 확인합니다. 스토리지 계정의 이름이 바뀌거나 키 값이 변경된 경우 이러한 변경 내용이 Microsoft Azure에 대한 SQL Server Managed Backup에서 사용하는 SQL 자격 증명에 반영되는지 확인합니다.
데이터베이스 속성 변경 내용: 복구 모델을 변경하거나 이름을 변경하면 백업이 실패할 수 있습니다.
복구 모델 변경 내용: 데이터베이스의 복구 모델이 전체 또는 대량 로그에서 단순으로 변경되면 백업이 중지되고 SQL Server Managed Backup에서 Microsoft Azure로 데이터베이스를 건너뜁니다. 자세한 내용은 Azure에 대한 SQL Server Managed Backup: 상호 운용성 및 공존을 참조하세요.
가장 일반적인 오류 메시지 및 솔루션
Microsoft Azure에 SQL Server Managed Backup을 사용하거나 구성할 때 발생하는 오류:
오류: "스토리지 URL에 액세스하지 못했습니다.... 유효한 SQL 자격 증명 제공..." : SQL 자격 증명을 참조하는 이와 유사한 오류가 표시될 수 있습니다. 이러한 경우 제공한 SQL 자격 증명의 이름과 SQL 자격 증명에 저장된 정보(스토리지 계정 이름 및 스토리지 액세스 키)를 검토하고 현재 및 유효한지 확인합니다.
오류: "... 에서 데이터베이스를 구성할 수 없습니다.... 시스템 데이터베이스이므로": 시스템 데이터베이스에 대해 Microsoft Azure에 SQL Server Managed Backup을 사용하도록 설정하려고 하면 이 오류가 표시됩니다. Microsoft Azure에 대한 SQL Server Managed Backup은 시스템 데이터베이스에 대한 백업을 지원하지 않습니다. 시스템 데이터베이스에 대한 백업을 구성하려면 유지 관리 계획과 같은 다른 SQL Server Backup 기술을 사용합니다.
오류:" ... 보존 기간 제공...." : 이러한 값을 처음으로 구성할 때 데이터베이스 또는 인스턴스에 대한 보존 기간을 지정하지 않은 경우 보존 기간에 대한 오류가 표시될 수 있습니다. 1에서 30 사이의 숫자 이외의 값을 제공하는 경우에도 오류가 표시 될 수 있습니다. 보존 기간에 허용되는 값은 1에서 30 사이의 숫자입니다.
전자 메일 알림 오류:
오류: "데이터베이스 메일을 사용할 수 없습니다..." - 전자 메일 알림을 사용하도록 설정했지만 인스턴스에서 데이터베이스 메일이 구성되지 않은 경우 이 오류가 표시됩니다. Microsoft Azure에 대한 SQL Server Managed Backup의 상태 알림을 받을 수 있도록 인스턴스에서 데이터베이스 메일을 구성해야 합니다. 데이터베이스 메일을 사용하도록 설정하는 방법에 대한 자세한 내용은 데이터베이스 메일 구성을 참조하세요. 또한 SQL Server 에이전트가 알림에 데이터베이스 메일을 사용하도록 설정해야 합니다. 자세한 내용은 시작하기 전에 참조하세요.
다음은 전자 메일 알림과 연결된 오류 번호 목록입니다.
ErrorNumber: 45209
ErrorNumber: 45210
ErrorNumber: 45211
연결 오류:
SQL 연결과 관련된 오류: 이러한 오류는 SQL Server 인스턴스에 연결하는 데 문제가 있을 때 발생합니다. 확장 이벤트는 관리 채널을 통해 이러한 유형의 오류를 노출합니다. 다음은 이러한 유형의 연결 문제와 관련된 오류에 대해 볼 수 있는 두 개의 확장 이벤트입니다.
FileRetentionAdminXEvent와 event_type = SqlError. 이 오류에 대한 자세한 내용은 해당 이벤트의 error_code, error_message 및 stack_trace 참조하세요. error_code SqlException의 오류 번호입니다.
다음과 같은 메시지와 메시지 접두사를 포함한 "SmartBackupAdminXevent":
"예를 들어 Azure 기본 설정으로 SQL Server Managed Backup을 구성하는 동안 내부 오류가 발생했습니다. 오류가 일시적일 수 있습니다."
"SQL Server에 연결 문제가 발생할 수 있습니다. 현재 반복에서 데이터베이스 건너뛰기."
"로그 사용 정보를 쿼리하지 못했습니다. 오류가 일시적일 수 있습니다. 현재 반복에서 데이터베이스 건너뛰기."
"SSMBackup2WA 에이전트 메타데이터를 로드하는 동안 SQL 예외가 발생했습니다. 오류가 일시적일 수 있습니다. 작업이 다시 시도됩니다."
"SSMBackup2WA에서 SQL 예외가 발생했습니다. "
스토리지 계정에 연결하는 동안 오류가 발생했습니다.
스토리지 예외는 FileRetentionAdminXEvent에서 event_type = XstoreError로 보고됩니다. 오류에 대한 자세한 내용은 해당 이벤트의 error_message 및 stack_trace 참조하세요.
SQL Server Managed Backup은 기본 BACKUP to URL 기술을 사용하므로 스토리지 연결과 관련된 오류가 두 기능에 모두 적용됩니다. 문제 해결 단계에 대한 자세한 내용은 URL에 대한 SQL Server 백업 모범 사례 및 문제 해결 문서의 문제 해결섹션을 참조하세요.
시스템 문제 해결
다음은 시스템(SQL Server, SQL Server 에이전트)에 문제가 있고 Microsoft Azure에 대한 SQL Server 관리 백업에 미치는 영향이 있는 경우의 몇 가지 시나리오입니다.
Sqlservr.exe Microsoft Azure에 대한 SQL Server Managed Backup이 실행 중일 때 응답을 중지하거나 작동을 중지합니다. SQL Server가 작동을 중지하면 SQL 에이전트가 정상적으로 종료되고, Microsoft Azure에 대한 SQL Server Managed Backup도 중지되고 이벤트가 SQL Agent.out 파일에 기록됩니다.
SQL Server가 응답을 중지하면 이벤트가 관리 채널에 기록됩니다. 이벤트 로그의 예:
Sql 오류(엔진이 응답하지 않거나 sqlException을 가져옵니다. SqlException:
오류 코드, 메시지 및 스택 추적은 다음과 같은 몇 가지 추가 정보와 함께 관리 채널 xevent에 표시됩니다.
"SQL Server에 연결 문제가 발생할 수 있습니다. 현재 반복에서 데이터베이스 건너뛰기"MICROSOFT Azure에 대한 SQL Server Managed Backup이 실행 중일 때 SQL 에이전트가 응답을 중지하거나 작동을 중지합니다.
SQL 에이전트의 작동이 중지되면 Microsoft Azure에 대한 SQL Server Managed Backup도 중지되고 이벤트가 관리 채널에 기록됩니다. 이는 SQL Server가 응답을 중지하는 시나리오와 유사합니다.
SQL 에이전트가 응답을 중지하면 Microsoft Azure에 대한 SQL Server Managed Backup은 백업 작업을 계속할 수 없으며 이벤트는 관리 채널에 기록됩니다. 이벤트 로그의 예:
작업 중단: 관리자 채널 xevents 참조
데이터베이스 백업에 대한 "+ Constants.DBBackupInfoMsgMaxWaitTime + " 시간 이상에서 SQL Server에서 진행률 업데이트를 받지 못했습니다. SSM 클라우드 백업은 계속 대기합니다."
전자 메일 알림을 사용하도록 설정한 경우 백업 루프 수 및 보존 루프 수가 포함된 알림을 받게 됩니다. 이 두 열 중 하나 또는 둘 다에 대한 알림에서 반환된 값이 0이면 시스템이 응답하지 않음을 나타낼 수 있습니다.
경고
보고서에 대한 결과를 생성하는 내부 프로세스에서는 엔진 진단 로그가 SQL 에이전트 오류 로그의 동일한 위치에 있다고 가정합니다. 이 로그는 기본적으로 SQL Server 인스턴스의 오류 로그와 동일한 폴더에 있습니다. 엔진 진단 로그가 SQL 에이전트 오류 로그 위치 이외의 위치로 이동되면 시스템에서 스마트 백업 진단 로그를 찾을 수 없으므로 이메일 알림의 보고서가 올바르지 않을 수 있습니다. 예를 들어 백업 루프 수 및 보존 루프 수를 포함하여 보고된 모든 필드에 0 의 값이 표시될 수 있습니다. 진단 로그가 다른 위치로 이동되는 경우 시스템이 응답하지 않고 시스템에서 로그를 찾을 수 없다는 의미는 아닙니다. 진단 로그 및 SQL 에이전트 오류 로그의 위치가 먼저 동일한 위치에 있는지 확인합니다. 진단 로그의 현재 위치를 확인하려면 sys.dm_os_server_diagnostics_log_configurations 사용할 수 있습니다. 이 열은 path 엔진 진단 로그의 현재 위치를 반환합니다. SQL 에이전트 오류 로그와 동일한 폴더에 있어야 합니다. 저장 프로시저를 사용하여 dbo.sp_get_sqlagent_properties SQL 에이전트 오류 로그 경로를 가져올 수 있습니다.
확장 이벤트 로그를 확인하여 오류에 대한 세부 정보를 확인합니다. 오류를 수정하거나 SQL Server 에이전트를 다시 시작하여 상황을 수정합니다.