SQL Server 유틸리티 문제 해결
SQL Server 유틸리티 문제 해결에는 SQL Server 인스턴스를 UCP에 등록하는 작업의 실패 해결, UCP에서 관리되는 인스턴스 목록 뷰에 회색 아이콘으로 표시되는 실패한 데이터 수집 문제 해결, 성능 병목 현상 완화, 리소스 상태 문제 해결 등이 포함됩니다. SQL Server UCP에서 식별하는 리소스 상태 문제를 완화하는 방법은 SQL Server 리소스 상태 문제 해결(SQL Server 유틸리티)을 참조하십시오.
SQL Server 유틸리티에 SQL Server 인스턴스를 등록하는 작업 실패
SQL Server 인증을 사용하여 SQL Server 인스턴스에 연결하여 등록할 경우 UCP가 위치한 도메인이 아닌 다른 Active Directory 도메인에 속하는 프록시 계정을 지정하면 인스턴스 유효성 검사는 성공하지만 다음 오류 메시지와 함께 등록 작업이 실패합니다.
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
Additional information: Could not obtain information about Windows NT group/user '<DomainName\AccountName>', error code 0x5. (Microsoft SQL Server, Error: 15404)
이 문제는 다음과 같은 예제 시나리오에서 발생합니다.
UCP가 "Domain_1"의 멤버입니다.
단방향 도메인 트러스트 관계가 설정되어 있습니다. 즉, "Domain_2"은 "Domain_1"을 트러스트하지 않지만 "Domain_1"은 "Domain_2"를 트러스트합니다.
SQL Server 유틸리티에 등록할 SQL Server 인스턴스도 "Domain_1"의 멤버입니다.
등록 작업 중 “sa”를 사용하여 SQL Server 인스턴스에 연결하고 등록합니다. "Domain_2"의 프록시 계정을 지정합니다.
유효성 검사는 성공하지만 등록이 실패합니다.
위와 같은 예제에서 이 문제를 해결하는 방법은 “sa”를 사용하고 "Domain_1"의 프록시 계정을 제공하여 SQL Server 인스턴스에 연결한 후 SQL Server 유틸리티에 등록하는 것입니다.
WMI 유효성 검사 실패
SQL Server 인스턴스에서 WMI가 올바르게 구성되지 않을 경우 UCP 만들기 및 관리되는 인스턴스 등록 작업 시 경고가 표시되지만 작업이 중지되지는 않습니다. 또한 SQL Server 에이전트 계정 구성을 변경하여 그로 인해 SQL Server 에이전트가 필요한 WMI 클래스에 대한 사용 권한을 갖지 못하게 되면 해당 SQL Server 관리되는 인스턴스에 대한 데이터 수집을 UCP에 업로드하는 작업이 실패합니다. 그러면 UCP에 회색 아이콘이 표시됩니다.
데이터 수집이 실패하면 해당 SQL Server 관리되는 인스턴스의 UCP 목록 뷰에 회색 상태 아이콘이 표시됩니다. SQL Server 관리되는 인스턴스의 작업 기록에는 sysutility_mi_collect_and_upload가 2단계(PowerShell 스크립트에서 수집된 단계 데이터)에서 실패했다고 표시됩니다.
이 경우 다음과 같은 오류 메시지만 출력됩니다.
셸 변수 "ErrorActionPreference"가 Stop으로 설정되어 있으므로 명령 실행이 중지되었습니다. 액세스가 거부되었습니다.
오류: <Date-time(MM/DD/YYYY HH:MM:SS)>: CPU 속성을 수집하는 동안 예외가 발생했습니다./// WMI 쿼리가 실패했을 수 있습니다. 경고.
이 문제를 해결하려면 다음 구성 설정을 확인하십시오.///
Windows Server 2003에서 SQL Server 에이전트 서비스 계정은 SQL Server 관리되는 인스턴스에서 Windows Performance Monitor User 그룹에 속해야 합니다.
SQL Server 관리되는 인스턴스에서 WMI 서비스가 설정되고 구성되어 있어야 합니다.
SQL Server 관리되는 인스턴스에서 WMI 리포지토리가 손상되었을 수 있습니다.
SQL Server 관리되는 인스턴스에서 성능 라이브러리가 없거나 손상되었을 수 있습니다.
지정된 SQL Server 인스턴스가 UCP에 데이터를 보고하도록 올바르게 구성되어 있는지 확인하려면 다음 클래스를 지정된 SQL Server 인스턴스에서 사용할 수 있으며 SQL Server 에이전트 서비스 계정에서 액세스할 수 있는지 확인합니다.
Win32_MountPoint
Win32_PerfRawData_PerfProc_Process
Win32_PerfRawData_PerfOS_Processor
Win32_Processor
Win32_Volume
Win32_LogicalDisk
각 클래스의 Get-WmiObject PowerShell cmdlet을 사용하여 해당 클래스에 액세스할 수 있는지 확인할 수 있습니다. SQL Server 관리되는 인스턴스에서 다음 cmdlet을 실행합니다.
Get-WmiObject Win32_MountPoint -ErrorAction Stop | Out-Null
Get-WmiObject Win32_PerfRawData_PerfProc_Process -ErrorAction Stop| Out-Null
Get-WmiObject Win32_PerfRawData_PerfOS_Processor -ErrorAction Stop | Out-Null
Get-WmiObject Win32_Processor -ErrorAction Stop | Out-Null
Get-WmiObject Win32_Volume -ErrorAction Stop | Out-Null
Get-WmiObject Win32_LogicalDisk -ErrorAction Stop | Out-Null
WMI 문제 해결에 대한 자세한 내용은 WMI 문제 해결(Troubleshooting WMI)을 참조하십시오. 이러한 SQL Server 유틸리티 작업의 쿼리는 로컬로 실행할 수 있으므로 DCOM 및 원격 문제 해결 정보에는 영향을 주지 않습니다.
데이터 수집 실패
SQL Server 유틸리티 데이터 수집 이벤트가 실패하면 다음 가능성을 고려하십시오.
데이터 컬렉션은 유틸리티 에이전트 작업으로 제어되므로 SQL Server의 관리되는 인스턴스에서 "유틸리티 정보" 컬렉션 집합의 속성을 변경하지 말고 데이터 컬렉션을 수동으로 켜거나 끄지 않아야 합니다.
WMI 유효성 검사가 실패했거나 지원되지 않는지 확인합니다. 자세한 내용은 이 항목의 앞에 나오는 "WMI 유효성 검사 실패" 섹션을 참조하십시오.
SQL Server 유틸리티 뷰포인트는 자동으로 새로 고치지지 않으므로 관리되는 인스턴스 목록 뷰의 데이터를 새로 고쳐 봅니다. 데이터를 새로 고치려면 유틸리티 탐색기 탐색 창의 관리되는 인스턴스 노드를 마우스 오른쪽 단추로 클릭한 다음 새로 고침을 선택하거나 목록 뷰에서 SQL Server 인스턴스 이름을 마우스 오른쪽 단추로 클릭한 다음 새로 고침을 선택합니다. SQL Server 인스턴스에 UCP를 등록한 후에 최대 30분이 지나야 유틸리티 탐색기 내용 창의 대시보드와 뷰포인트에 데이터가 표시되기 시작합니다.
SQL Server 구성 관리자를 사용하여 SQL Server 인스턴스가 실행 중인지 확인합니다.
데이터 수집 또는 데이터 업로드 작업이 제한 시간 문제로 인해 실패하면 MSDB 데이터베이스에서 dbo.fn_sysutility_mi_get_collect_script() 함수를 업데이트합니다. 특히 "Invoke-BulkCopyCommand()" 함수에 아래 줄을 추가합니다.
$bulkCopy.BulkCopyTimeout=180
기본 제한 시간 값은 30초입니다.
SQL Server 인스턴스가 클러스터링되지 않은 경우 SQL Server 에이전트 서비스가 실행 중이고 이 서비스가 UCP와 SQL Server 관리되는 인스턴스에서 자동으로 시작되도록 설정되어 있는지 확인합니다.
SQL Server의 관리되는 인스턴스에서 데이터 수집을 실행하는 데 유효한 계정이 사용되는지 확인합니다. 예를 들어 암호가 만료되었을 수 있습니다. 프록시 암호가 만료된 경우 다음과 같이 SSMS에서 암호 자격 증명을 업데이트합니다.
SSMS 개체 탐색기에서 보안 노드를 확장한 다음 자격 증명 노드를 확장합니다.
**UtilityAgentProxyCredential_<GUID>**를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.
자격 증명 속성 대화 상자에서 UtilityAgentProxyCredential_<GUID> 자격 증명에 필요한 업데이트를 수행합니다.
확인을 클릭하여 변경 내용을 확인합니다.
TCP/IP가 UCP 및 SQL Server 관리되는 인스턴스에서 설정되어 있어야 합니다. SQL Server 구성 관리자를 사용하여 TCP/IP를 설정합니다.
UCP에서 SQL Server Browser 서비스가 시작되어야 하며 자동으로 시작하도록 구성되어 있어야 합니다. 조직에서 SQL Server Browser 서비스 사용을 금지하는 경우 다음 단계를 사용하여 SQL Server 관리되는 인스턴스가 UCP에 연결하는 것을 허용하십시오.
Windows 작업 표시줄의 SQL Server 관리되는 인스턴스에서 시작을 클릭하고 **실행...**을 클릭합니다.
입력란에 "cliconfg.exe"를 입력하고 확인을 클릭합니다.
"SQL 클라이언트 구성 유틸리티 EXE"를 시작하도록 허용하라는 메시지가 표시되면 "계속"을 클릭합니다.
SQL Server 클라이언트 네트워크 유틸리티 대화 상자에서 별칭 탭을 선택하고 **추가…**를 클릭합니다.
네트워크 라이브러리 구성 추가 대화 상자에서 다음을 수행합니다.
네트워크 라이브러리 목록에서 TCP/IP를 지정합니다.
UCP의 서버 별칭 입력란에 ComputerName\InstanceName을 지정합니다.
UCP의 서버 이름 입력란에 ComputerName을 지정합니다.
동적으로 포트 확인 확인란의 선택을 취소합니다.
포트 번호 입력란에 UCP가 수신하는 포트 번호를 지정합니다.
확인을 클릭하여 변경 내용을 저장합니다.
SQL Server Browser 서비스가 해제되어 있는 UCP에 연결하는 각 SQL Server 관리되는 인스턴스에 대해 이 단계를 반복합니다.
SQL Server의 관리되는 인스턴스가 네트워크에 연결되어 있는지 확인합니다.
이름은 같지만 SQL Server 관리되는 인스턴스의 대/소문자 설정이 다른 데이터베이스가 있는 경우 데이터베이스와 해당 뷰포인트 간의 식별이 잘못되어 데이터 수집이 실패할 수 있습니다. 예를 들어 "MYDATABASE"라는 데이터베이스가 "MyDatabase"라는 데이터베이스의 상태를 보여 줄 수 있습니다. 이 시나리오에서는 오류가 발생하지 않습니다. 또한 UCP에 표시되는 다른 객체에서 데이터베이스 파일 및 파일 그룹 이름 등의 대/소문자가 일치하지 않아 데이터 수집이 실패할 수도 있습니다.
SQL Server 관리되는 인스턴스가 Windows Server 2003 컴퓨터에서 호스팅되는 경우 SQL Server 에이전트 서비스 계정이 성능 모니터 사용자 보안 그룹이나 로컬 관리자 그룹에 속해야 합니다. 그렇지 않으면 액세스 거부 오류가 발생하고 데이터베이스 수집이 실패합니다. SQL Server 에이전트 서비스 계정을 성능 모니터 사용자 보안 그룹에 추가하려면 다음 단계를 사용합니다.
컴퓨터 관리, 로컬 사용자 및 그룹, 그룹을 차례로 엽니다.
성능 모니터 사용자를 마우스 오른쪽 단추로 클릭하고 그룹에 추가를 선택합니다.
추가를 클릭합니다.
SQL Server 에이전트 서비스가 실행되고 있는 계정을 입력하고 확인을 클릭합니다.
사용자를 이 그룹에 추가하기 전에 SQL Server 인스턴스에 이미 UCP가 등록된 경우 SQL Server 에이전트 서비스를 다시 시작합니다.