Configuration de la fermeture automatique

Microsoft.SQLServer.2014.Database.Configuration.AutoClose (UnitMonitor)

Analyse le paramètre de fermeture automatique de la base de données. Remarque : cette analyse est désactivée par défaut. Utilisez des remplacements afin de l’activer, le cas échéant.

Knowledge Base article:

Résumé

Cette analyse vérifie le paramètre Fermeture automatique de cette base de données. Étant donné que cette analyse fait partie de spécifications de normes globales, une alerte est générée si le paramètre ne répond pas à la norme spécifiée.

L'option AUTO_CLOSE est utile pour les bases de données bureautiques, puisqu'elle permet aux fichiers de base de données d'être gérés comme des fichiers normaux. Ceux-ci peuvent être déplacés, copiés en vue d'une sauvegarde ou même transmis par messagerie électronique à d'autres utilisateurs. Toutefois, lorsque la base de données a la valeur AUTOCLOSE = ON, une opération qui initialise un arrêt de la base de données automatique efface le cache du plan pour l'instance de SQL Server. Cette opération entraîne la recompilation de tous les plans d'exécution ultérieurs et peut entraîner une baisse temporaire et brutale des performances des requêtes

La mise en miroir de bases de données exige AUTO_CLOSE OFF.

La fermeture automatique n'est pertinente que lorsque vous êtes certain que le modèle d'utilisation de l'application maintiendra la base de données fermée pendant des périodes relativement longues. Quelques applications en mode mono-utilisateur et quelques situations d'hébergement de bases de données avec une architecture mutualisée peuvent bénéficier de l'option AUTO_CLOSE ON. Pour toutes les autres utilisations, ce choix n'est généralement pas judicieux sauf si vous maîtrisez réellement les modèles d'utilisation et le comportement des applications

  • Remarque relative à la conception/l'implémentation de la documentation en ligne

  • Si la base de données n'est pas démarrée, les propriétés que Microsoft SQL Server récupère en accédant directement à la base de données au lieu de récupérer la valeur dans les métadonnées retournent NULL. Cette situation se présente lorsque la propriété AUTO_CLOSE de la base de données a la valeur ON ou que la base de données est hors connexion.

Configuration

Lorsque le paramètre Fermeture automatique a la valeur ON, la base de données est arrêtée proprement et ses ressources sont libérées dès que le dernier utilisateur la quitte.

AUTO_CLOSE {ON | OFF}

Causes

Une alerte d'avertissement sera déclenchée si l'option Fermeture automatique ne correspond pas au paramètre requis. Cette analyse immédiatement utilisable permet d'envoyer une alerte lorsque ce paramètre a la valeur ON.

Solutions

Ce problème peut être résolu en :

Sinon, si cette analyse n'est pas un critère important pour cette base de données, en :

Paramètres remplaçables

Nom

Description

Valeur par défaut

Priorité de l'alerte

Définit la priorité de l'alerte.

Normal

Gravité de l'alerte

Définit la gravité de l'alerte.

Avertissement

Désactiver la vérification pour SQL Express

La valeur ne peut être que « True » ou « False ». Si elle est « True », le flux de travail ne prend pas en compte l’édition SQL Server Express.

Oui

Activé

Active ou désactive le flux de travail.

Non

Valeur attendue

Valeur attendue du paramètre de configuration de la base de données. Pour voir l’ensemble des valeurs applicables, consultez la section « Configuration » de l’article de la Base de connaissances de ce moniteur.

DÉSACTIVÉ

Génère des alertes

Définit si le flux de travail génère une alerte.

Oui

Intervalle (en secondes)

L'intervalle de temps récurrent en secondes pendant lequel le workflow est exécuté.

43200

Délai d'expiration (en secondes)

Spécifie la durée pendant laquelle le workflow est autorisé à être exécuté avant d'être fermé et marqué comme un échec.

300

Element properties:

TargetMicrosoft.SQLServer.2014.Database
Parent MonitorMicrosoft.SQLServer.2014.Database.AutomaticConfiguration
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.DBConfigurationStatus
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2014 : erreur de configuration de la fermeture automatique
Le paramètre de fermeture automatique de la base de données « {0} » de l’instance SQL « {1} » de l’ordinateur « {2} » n’est pas défini selon la meilleure pratique.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.Database.Configuration.AutoClose" Accessibility="Public" Enabled="false" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="Microsoft.SQLServer.2014.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Database.Configuration.AutoClose.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConfigurationValueOK" MonitorTypeStateID="ConfigurationValueOK" HealthState="Success"/>
<OperationalState ID="ConfigurationValueNotOK" MonitorTypeStateID="ConfigurationValueNotOK" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime/>
<ConfigValue>AutoClose</ConfigValue>
<ExpectedValue>OFF</ExpectedValue>
<ExcludeOnExpress>true</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>