Windows Azure 팩 SQL 액세스할 수 없는 Sql Server 오류 모니터

WindowsAzurePack.Monitor.InaccessibleSqlServer.SqlServers (UnitMonitor)

오류: SQL에 액세스할 수 없습니다.

Knowledge Base article:

요약

Windows Azure 팩 웹 서버에서 SQL Server로 데이터베이스 연결을 모니터링합니다. 이 작업은 이벤트 로그에서 손실 연결 이벤트를 정기적으로 확인하여 수행됩니다.

원인

이 모니터가 오류 상태인 경우 이벤트 로그에 이벤트를 등록한 웹 서버에서 SQL 데이터베이스를 사용할 수 없습니다.

해결 방법

Windows Azure 서버 사이트에 사용된 SQL Server 데이터베이스 상태를 확인하십시오. 웹 서버의 사용 웹 끝점에 대한 응용 프로그램 풀 계정이 데이터베이스 서버에 대한 액세스로 프로비저닝되었는지 확인하십시오. 응용 프로그램 풀 계정 암호가 만료되었는지 확인하십시오.

구성

이 모니터가 제대로 작동하도록 하려면 이벤트 로그를 읽을 권한이 있어야 합니다.

옵션

정의

기본

경고 상태

경고를 생성하는 모니터의 성능 상태입니다.

모니터가 중요한 성능 상태입니다.

경고 우선 순위

이 모니터에 대해 생성된 경고의 우선 순위입니다.

높음

경고 심각도

이 모니터에 대해 생성된 경고의 우선 순위입니다.

중요

경고 자동 해결

모니터가 성능 상태로 돌아갈 때 경고를 자동으로 해결해야 하는지 여부를 지정합니다.

True

사용

모니터를 실행해야 하는지 여부를 지정합니다.

True

경고 생성

경고 또는 중요 상태로 변경될 때 모니터에서 경고를 생성해야 하는지 여부를 지정합니다.

True

간격

모니터가 실행되는 초 단위 시간 간격입니다.

300

Element properties:

TargetWindowsAzurePack.ResourceProvider.SqlServers
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeWindowsAzurePack.MonitorType.CustomSingleEventLogTimer2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
오류: Windows Azure 팩 SQL Server 액세스할 수 없는 SQL Server 오류 경고
오류: SQL에 액세스할 수 없습니다. 이벤트 214.
RunAsDefault
CommentWAP Monitor Event for SQL Resource Provider

Source Code:

<UnitMonitor ID="WindowsAzurePack.Monitor.InaccessibleSqlServer.SqlServers" Accessibility="Public" Enabled="true" Target="WindowsAzurePack.ResourceProvider.SqlServers" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="WindowsAzurePack.MonitorType.CustomSingleEventLogTimer2StateMonitorType" ConfirmDelivery="false" Comment="WAP Monitor Event for SQL Resource Provider">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="WindowsAzurePack.Monitor.InaccessibleSqlServer.AlertMessage.SqlServers">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ErrorEventRaised" MonitorTypeStateID="EventRaised" HealthState="Error"/>
<OperationalState ID="TimerEventRaised" MonitorTypeStateID="TimerEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<!-- Computer name for the first event. We will use a variable to get the target computer name. -->
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<!-- Name of the log containing the first event. -->
<LogName>Microsoft-WindowsAzurePack-MgmtSvc-SQLServer/Operational</LogName>
<!-- Expression for the first event -->
<Expression>
<And>
<!-- Expression for the first event number -->
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">214</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<!-- Expression for the first event source -->
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-WindowsAzurePack-MgmtSvc-SQLServer</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
<TimerWaitInSeconds>10800</TimerWaitInSeconds>
</Configuration>
</UnitMonitor>