Microsoft SQL Server를 실행하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 오류가 발생합니다. 또는 SQL Server가 느려서 애플리케이션 로깅 시간 초과 오류가 발생합니다.
간략한 설명
다음은 SQL Server에서 발생할 수 있는 일반적인 오류입니다.
- SQL Server 인스턴스가 기본 복제본에서 보조 복제본으로 장애 조치되었습니다.
- 이벤트 뷰어가 이벤트 1196 “클러스터 네트워크 이름 리소스 '클러스터 이름'이 다음과 같은 이유로 하나 이상의 연결된 DNS 이름을 등록하지 못했습니다.”를 15분마다 로그합니다.
- SQL 리스너를 생성할 수 없습니다.
- SQL Server 속도가 느려서 애플리케이션에서 시간 초과 오류를 로그합니다.
- SQL 설정에서 별도의 서버 설정을 감지한 후 "잘못된 자격 증명" 오류와 함께 노드 추가가 실패합니다.
해결 방법
SQL Server 인스턴스가 기본 복제본에서 보조 복제본으로 장애 조치되었습니다
장애 조치는 기본 클러스터 그룹에서 자주 발생합니다. 문제가 클러스터 수준에서 발생하는지 확인하려면 다음 단계를 통해 이벤트 뷰어에서 시스템 로그를 확인합니다.
- 실행 애플리케이션을 열고 eventvwr을 입력한 다음 확인을 선택합니다.
- Windows 로그, 시스템을 선택합니다. 로그에 이벤트 1069, 1146, 1230 또는 1135가 표시되면 클러스터 로그를 생성하여 클러스터 수준에서 조사를 시작합니다.
**참고:**이벤트 1135가 표시되면 클러스터 노드 장애 조치가 발생한 것입니다. 이 문제를 해결하는 방법에 대한 자세한 내용은 Microsoft 웹 사이트의 이벤트 ID 1135와 관련된 클러스터 문제 해결을 참고하세요.
클러스터 로그를 생성하고 검색하려면 다음 단계를 따릅니다.
- Windows PowerShell에서 get-clusterlogs 명령을 실행하여 최신 클러스터 로그 세트를 생성합니다.
- C:\windows\cluster\reports의 기본 위치에서 클러스터 로그를 검색합니다.
클러스터 로그에 SQL 리소스로 인해 클러스터가 장애 조치된 것으로 나타나는 경우 이벤트 뷰어 애플리케이션 로그에서 SQL 오류를 검토합니다.
자세한 내용은 Microsoft 웹 사이트에서 Always On 가용 그룹의 임대, 클러스터, 상태 점검 시간 제한에 관한 메커니즘 및 지침을 참고하세요.
SQL Server 서비스 실패에 관한 자세한 내용은 SQL Server 오류 로그를 참고하세요. 자세한 내용은 Microsoft 웹 사이트에서 SSMS(SQL Server Management Studio)에서 SQL Server 오류 로그 보기를 참고하세요.
이벤트 뷰어는 이벤트 1196 “클러스터 네트워크 이름 리소스 '클러스터 이름'이 다음과 같은 이유로 하나 이상의 연결된 DNS 이름을 등록하지 못했습니다.”를 15분마다 로그합니다
클러스터 이름 객체(CNO)는 기본적으로 15분마다 DNS로 이동해 필요한 레코드가 존재하는지 확인합니다. 확인이 실패하면 “클러스터 네트워크 이름 리소스 '클러스터 이름'이 실패했습니다” 등록 오류가 발생합니다. 이 오류는 CNO에 클러스터의 네트워크 이름과 관련한 클러스터 DNS 레코드 권한이 없을 경우에 종종 발생합니다.
이 문제를 해결하려면 DNS 레코드 CNO에 전체 제어 권한을 부여하세요. 보통은 클러스터 생성 시에 이 권한을 부여합니다.
정적 DNS 레코드를 사용하거나 클러스터에서 DNS 레코드를 계속 업데이트하지 않으려면 다음 단계를 따릅니다.
- ncpa.cpl, NIC card properties, Ipv4 properties, Advanced, DNS로 이동합니다.
- DNS에 이 연결 주소 등록을 선택 취소합니다.
SQL 리스너를 생성할 수 없습니다
SQL 리스너를 생성할 수 없는 경우 추가 문제 해결이 필요할 수 있습니다. 자세한 내용은 Microsoft 웹 사이트에서 “WSFC 클러스터가 네트워크 이름 리소스를 온라인으로 가져올 수 없습니다” 오류 메시지와 함께 리스너 생성 실패를 참고하세요.
SQL Server 속도가 느려서 애플리케이션에서 시간 초과 오류를 기록
SQL Server에서 높은 메모리 사용량, 높은 CPU 사용량 또는 디스크 병목 현상이 있는지 확인합니다.
OS의 메모리 사용량이 높은지 확인합니다.****작업 관리자를 열고 성능 탭을 선택합니다. 메모리 사용량이 높으면 SQL 메모리의 용량를 제한하고, 아직 한도가 설정되어 있지 않으면 SQL 메모리의 용량을 제한합니다. 자세한 내용은 Microsoft 웹 사이트에서 서버 메모리 구성 옵션을 참고하세요.
SQL 메모리의 용량이 이미 제한되어 있는 경우 Windows 성능 모니터(perfmon)에 액세스하여 메모리를 사용하는 애플리케이션을 확인합니다. perfmon을 로컬이나 원격으로 설정할 수 있습니다. 자세한 내용은 Microsoft 웹 사이트의 Windows 성능 모니터 개요를 참고하세요.
OS의 CPU 사용량이 높은지 확인합니다.****작업 관리자를 열고 성능 탭을 선택합니다. 또는 Amazon CloudWatch 지표를 검토합니다. Windows 성능 모니터에 액세스하여 어떤 애플리케이션이 메모리를 사용하고 있는지 확인합니다. 주로 오래된 드라이버로 인해 CPU 사용량이 높게 나옵니다. 최신 PV 드라이버 버전으로 업그레이드합니다. 또는 AWS NVMe 드라이버를 최신 버전으로 업그레이드합니다.
서버의 디스크 사용량이 높거나 볼륨이 느리거나 I/O가 높은지 확인합니다. CPU 사용량이 높은 경우와 마찬가지로 오래된 드라이버로 인해 디스크 사용량이 높을 수 있습니다. 최신 PV 드라이버 버전으로 업그레이드합니다. 또는 AWS NVMe 드라이버를 최신 버전으로 업그레이드합니다. 드라이버를 업데이트한 후에도 문제가 지속되면 perfmon을 구성하여 디스크 I/O 사용량을 높은 원인을 찾습니다.
SQL Server 또는 느린 데이터베이스 애플리케이션 문제를 해결하려면 Microsoft 웹 사이트에서 속도가 느린 전체 SQL Server 또는 데이터베이스 애플리케이션 문제 해결을 참고하세요.
SQL Server I/O의 속도가 느린 문제를 해결하려면 Microsoft 웹 사이트에서 I/O 문제로 인해 SQL Server의 속도가 느린 성능 문제 해결을 참고하세요.
SQL 설정에서 별도 서버 설정을 감지한 후 “잘못된 자격 증명” 오류로 노드 추가가 실패함
다음 중 하나에 해당하는지 확인합니다.
- 두 번째 서버 세부 정보를 감지한 후 보조 노드의 SQL 설정에서 SQL 에이전트 계정 이름이 비어 있습니다.
- 레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.SQL2014\ConfigurationState에 값이 2인 키가 하나 이상 있습니다.
위의 두 가지 중 하나에 해당하는 경우 다음 단계를 따릅니다.
- Windows PowerShell을 열고 다음 명령을 실행합니다.
$ClusterName = "YourClusterName"
$FciClusterGroupName = "SQL Server (MSSQLSERVER)"
Add-ClusterResourceType -Name "SQL Server Agent" -Dll "sqagtres.dll"
**참고:**앞의 명령 예제에서 사용자 환경에 맞게 YourClusterName과 같은 변수 이름을 수정합니다.
- 장애 조치 클러스터 관리자를 열고 역할, SQL 역할, 리소스 추가, 기타 리소스를 선택합니다.
- 새 SQL Server 에이전트, 속성, 종속성을 선택합니다.
- 리소스 필드에서 SQL Server를 선택합니다.
- 속성 탭을 선택하고 InstanceName 필드에 SQL Server 인스턴스의 이름을 입력합니다. 그런 다음 VirtualServerName 필드에 SQL 클러스터의 이름을 입력합니다. 새 SQL Server 에이전트가 시작됩니다.
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.SQL2014\ConfigurationState에서 모든 키를 값 1로 변경해야 합니다.
- 설치 프로그램을 다시 실행합니다. 이제 자격 증명 오류 없이 노드를 추가할 수 있습니다.
관련 정보
EC2 Windows 인스턴스에서 Microsoft SQL Server를 시작하려면 어떻게 해야 하나요?
EC2 Windows 인스턴스에서 Microsoft SQL 클러스터를 업그레이드하려면 어떻게 해야 하나요?