Analyse de la connexion à la base de données Service Provider Foundation

Microsoft.SystemCenter.SPF.Monitor.SpfDatabaseScriptMonitor (UnitMonitor)

Analyse la connexion entre le point de terminaison Web SPF et la base de données SPF.

Knowledge Base article:

Résumé

Analyse la connectivité de la base de données depuis les serveurs Web SPF. Cette analyse est effectuée en réalisant régulièrement un test de connexion à la base de données de Service Provider Foundation.

Causes

Si cette analyse génère une erreur, alors la base de données n'est pas disponible depuis le serveur ou la sécurité n'est pas configurée correctement pour l'analyse. Voir la section Configuration pour plus d'informations sur la configuration de l'analyse.

Si l'analyse est correctement configurée et qu'elle génère une erreur, alors la base de données est hors connexion ou le serveur de base de données est inaccessible pour le serveur de Service Provider Foundation.

Résolution

Vérifiez le statut de la base de données Service Provider Foundation et du serveur de base de données.

Configuration

Pour que cette analyse fonctionne correctement, elle doit posséder une autorisation de lecture de la base de données Service Management Automation. Créez un compte d'identification doté d'autorisations de lecture de la base de données et ajoutez-le au profil d'identification appelé compte de base de données de Microsoft Service Provider Foundation.

Il est possible de configurer les options suivantes sur cette analyse :

Option

Définition

Valeur par défaut

Alerte à l'état

État d'intégrité de l'analyse qui génère une alerte.

Analyse en état d'intégrité critique

Priorité de l'alerte

Priorité de l'alerte générée pour cette analyse.

Élevé

Gravité de l'alerte

Priorité de l'alerte générée pour cette analyse.

Critique

Résoudre automatiquement l'alerte

Indique si l'alerte doit être automatiquement résolue quand l'analyse repasse dans un état sain.

Vrai

Activé

Indique si l'analyse doit s'exécuter.

Vrai

Générer une alerte

Indique si l'analyse doit générer une alerte lors du passage à un état d'avertissement ou critique.

Vrai

Intervalle

Nombre de secondes entre les exécutions de l'analyse.

300

Element properties:

TargetMicrosoft.SystemCenter.SPF.SpfServer
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.ServiceProviderFoundation.PowerShellModule.TwoStateMonitorType.PropertyBag
RemotableTrue
AccessibilityInternal
Alert Message
AlertIfCantConnectToSpfDatabase
La connexion à la base de données SPF n'a pas été établie.
RunAsMicrosoft.SystemCenter.SPF.DatabaseAccount

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.SPF.Monitor.SpfDatabaseScriptMonitor" Accessibility="Internal" Enabled="true" Target="Microsoft.SystemCenter.SPF.SpfServer" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.ServiceProviderFoundation.PowerShellModule.TwoStateMonitorType.PropertyBag" ConfirmDelivery="false" RunAs="Microsoft.SystemCenter.SPF.DatabaseAccount">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.SPF.Monitor.SpfDatabaseScriptMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="Success" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<ScriptName>HealthOfSqlServer.ps1</ScriptName>
<ScriptBody><Script>$oAPI = new-object -comObject "MOM.ScriptAPI"
$propertyBag = $oAPI.CreatePropertyBag()

$errorActionSetting = $ErrorActionPreference
try
{
$ErrorActionPreference = "Stop"
Import-Module "$env:COMMONPROGRAMFILES\Microsoft System Center 2012 R2\Service Provider Foundation\Microsoft.SystemCenter.Foundation.Cmdlet.dll"
$stamps = Get-SCSPFStamp
$propertyBag.AddValue("Result", "Success")
}
catch
{
$propertyBag.AddValue("Result", "Error")
}
finally
{
$ErrorActionPreference = $errorActionSetting
$propertyBag
}
</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
<ErrorExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Result']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">Success</Value>
</ValueExpression>
</SimpleExpression>
</ErrorExpression>
<SuccessExpression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Result']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Success</Value>
</ValueExpression>
</SimpleExpression>
</SuccessExpression>
</Configuration>
</UnitMonitor>